E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
ACM_后缀数组
[bzoj4566][HAOI2016]找相同字符(
后缀数组
)
题目传送门题解这里:把两个串用一个很大的字符连接起来,求一个
后缀数组
。考虑怎样暴力的算答案。
A_Comme_Amour
·
2018-04-17 22:12
【bzoj5073】[Lydsy1710月赛]小A的咒语
后缀数组
+倍增RMQ+贪心+dp
题解
后缀数组
+倍增RMQ+贪心+dp设$f[i][j]$表示从$A$串的前$i$个字符中选出$j$段,能够拼出$B$串的最大长度。那么考虑转移,如果$i+1$不用则$f[i+1][j]\le
GXZlegend
·
2018-04-04 11:00
基数排序的实现
写在前面今天开始学习
后缀数组
,发现了这个神奇的基数排序,之前只是在数据与结构上了解了基数排序的实现原理,但是对于程序怎么实现到现在还是不知道,但是还是想写一篇关于
后缀数组
的博客,所以就从这里开始写起吧,
阿_波_
·
2018-04-02 17:02
后缀数组
愚人节两轮
然而也不知道脑子是不是抽了,内存充裕到要死手欠把
后缀数组
求Sa的桶从MAXN改成了200(当时我好像想的是ASCII码最多到122?exm?
Ju_Ruo
·
2018-04-02 15:56
模拟赛
小错误集锦
后缀数组
模板
模板题:UOJ35终于可以不看板子写出
后缀数组
了开心【捂脸】但还是贴一下板子吧。
Aqua_blue
·
2018-04-01 18:08
板子
后缀数组
字符串算法总结(一)
解决字符串的常用工具:(1)kmp(2)Ac自动机(3)
后缀数组
(4)后缀树(5)后缀自动机(6)manacher(7)回文树。
Demon_Rieman
·
2018-03-23 19:26
总结
省选
字符串
字符串算法总结(一)
解决字符串的常用工具:(1)kmp(2)Ac自动机(3)
后缀数组
(4)后缀树(5)后缀自动机(6)manacher(7)回文树。
Demon_Rieman
·
2018-03-23 19:26
总结
省选
字符串
后缀数组
专题
6道题题目链接:点击打开链接(本篇为
后缀数组
的训练题的个人ac题解,非正规教学题解,仅供参考。)
Mr_Troy
·
2018-03-20 14:25
字符串系列(一)——伟大的字符串Hash
也有许多的算法供我们选择,如:KMP、拓展KMP、最小表示法、Manacher、Trie、
后缀数组
、后缀自动机、AC自动机(树上KMP)等等等,日后我会逐一填坑。
Richard_for_OI
·
2018-02-10 21:31
字符串
后缀数组
详解
什么是
后缀数组
后缀数组
是处理字符串的有力工具—罗穗骞个人理解:
后缀数组
是让人蒙逼的有力工具!
自为风月马前卒
·
2018-02-06 11:00
javascript
后缀数组
后缀数组
是处理字符串的利器,它本身涉及许多辅助概念.基本概念1.1子串表示字符串的某一小段,如awbcdewg拥有awbc,awbcd,awbcde等子串。
司徒正美
·
2018-01-26 00:00
javascript
算法
poj2758/bzoj2258 文本校对
后缀数组
+RMQ
题目大意对于一个字符串进行以下两个操作:I:插入一个字符到现在字符串中一个字符的前面。该操作不超过2000个Q:询问原来的字符串中以第a个字符和第b个字符,从它们现在所处的位置开始的最长公共前缀题目分析维护三个数组:posipos_iposi:原串中第i个字符现在所处的位置,opsiops_iopsi:现在串中第i个字符原来所处的位置(如果是插入进来的字符,则opsi=−1ops_i=-1opsi
litble
·
2018-01-07 13:21
字符串
RMQ
2018年1月4日训练总结
简单的复习了下AC自动机的知识,关于
后缀数组
目前还处于懵逼状态。估计我这智商得花不少时间。。。主要是打了多场比赛。有cf的和牛客上的比赛。
LSD20164388
·
2018-01-05 22:46
训练日记
[
后缀数组
] BZOJ4650: [Noi2016] 优秀的拆分
令fi表示以i结尾的AA类型字符串的个数,gi则表示以i为开头的那么答案就是∑fi×gi+1枚举A的长度L,每隔L个位置放一个关键点,那么A肯定经过一个关键点,用SA找一下就好了#include#include#include#includeusingnamespacestd;typedeflonglongll;constintN=100010;intt,n;chara[N];intt1[N],t
LowestJN
·
2017-12-23 17:21
后缀数组
青岛站总结
青岛站总结,总的来说这次比赛打得不错的,不过对于出题人的锅,我还是忍不住的喷一下,感觉很是生气,我的也是n*n*lg(n)的
后缀数组
的暴力,我的就没过,别人的过了,我虽然最后也是三题,但是我差点拿了铁啊
但求-_-心安
·
2017-11-06 17:18
ACM-个人小结
心安观世界
ac自动机模版
后缀数组
#include#include#includeusingnamespacestd;constintmaxn=200000+100;intwa[maxn],wb[maxn],wv[maxn],Ws
fantaticmen
·
2017-10-24 23:26
什么都不是
NOIP复习计划
字符串内容:KMP、Trie树、AC自动机、
后缀数组
。
kamisamaxmd
·
2017-10-02 19:35
总结
HDU 5769
后缀数组
+二分
题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5769求一个字符串中包含字符x的不同子串有多少个思路:处理出height数组,对于每个后缀i,二分得出i之后的第一个字符x的位置,max(x,sa[i]+height[i])之后的位置结尾得到的字符串都是唯一的,相见代码。代码:#includeusingnamespacestd;typedeflo
Bahuia
·
2017-09-22 15:30
二分/三分
后缀数组
HDU 5442 Favorite Donut (最大表示法+KMP ||
后缀数组
)
后缀数组
也可以求字典
cillyb
·
2017-09-21 23:23
KMP
后缀数组
后缀数组
MaxSubstringTimelimit:1000msMemorylimit:256MBYouaregivenastringSS.FindastringTTthathasthemostnumberofoccurrencesasasubstringinSS.Ifthesolutionisnotunique,youshouldfindtheonewithmaximumlength.Ifthesolu
dongdongdong122
·
2017-09-21 14:02
后缀数组
POJ 3261
后缀数组
+二分
思路:经典题,
后缀数组
+二分注意此题需要离散化。
Bahuia
·
2017-09-20 19:23
二分/三分
后缀数组
9.13第一轮扫荡战果
1.处理内容字符串部manacher1题
后缀数组
1题后缀自动机1题最小表示法1题数学几何部miller-rabin1题动态规划部斜率优化2题2.字符串部(1)双倍回文(SHOI2011)暴力瞎搞搞#include
Friedrich_Taylor
·
2017-09-13 20:11
OI
字符串算法纲
动态规划纲
hdu 6194 -
后缀数组
+线段树
题目链接:点击打开链接题解思路:用
后缀数组
处理得到的hight数组后,对它再进行线段建树,维护的是区间内最小的一个值,那么我们每次取枚举一个长度为n的区间时,取它的最小值这表示从1-ans_min的字符串长度都是满足的
a1214034447
·
2017-09-10 23:45
线段树
后缀数组
HDU 5763 Another Meaning (DP+KMP||
后缀数组
)
题意:给你两个字符串,A,B,A中每一个B字符串都有两种意思,问A总共可以有多少种意思。|A|,|B|usingnamespacestd;constintmaxn=1e5+5;constintmod=1e9+7;charstr1[maxn],str2[maxn];intNext[maxn],isE[maxn];intdp[maxn];voidmakeNext(char*s){intlen=strl
cillyb
·
2017-09-04 23:53
KMP
DP
后缀数组
ACM_
最短路模板(SPFA,Dijkstra,Floyd)
#defineMax0x3f3f3f3f #definemaxn10010 intn,m; intMap[maxn][maxn]; intdist[maxn]; intvist[maxn];Floyd:voidfloyd() { inti,j,k; for(k=1;kq; q.push(s); vist[s]=1; while(!q.empty()) { now=q.front(); q.pop(
知足--常乐
·
2017-08-19 00:00
ACM_最短路
ACM总结与模板
bzoj2251 [2010Beijing WC]外星联络(
后缀数组
+暴力)
用
后缀数组
处理出h数组,每个子串第一次出现时,往后扫,看重复了几次。n=3000,暴力即可。
Icefox_zhx
·
2017-08-03 12:59
SA
bzoj
F - Anti-Rhyme Pairs(rmq算法模板)(
后缀数组
算法模板)
点击打开链接题目大意:通常押韵的两个词以相同的字符结尾。我们运用这个特性来规定反押韵的概念。反押韵是一对拥有近似开头的单词。一对单词的反押韵的复杂度被定义为两者都以之开头且最长的字符串S的长度。因此,"arboreal"和"arturus"是复杂度为2的一对反押韵,且"chalkboard"和"overboard"是一对复杂度为0的反押韵。你将得到一列单词。你的任务是,得到一列(i,j)形式的问题
Draven__
·
2017-07-31 13:54
姗姗杯
算法
后缀数组
练习题bzoj 1031
后缀数组
模板题目
id=1031这是一道显然的
后缀数组
模板题目。
kamisamaxmd
·
2017-07-27 20:00
字符串
uoj P35 后缀排序
传送门妥妥的
后缀数组
裸题(主要是楼主菜只会打这种题目),还有拓展lucas还没调对qwq菜飞了。。。求sa和lcp,就是
后缀数组
求sa和height。
Leo_Riddle
·
2017-07-11 14:05
后缀数组
uoj
JZOJ 100037【NOIP2017提高A组模拟7.11】
后缀数组
题目描述:给出S的SA,求S最少的不同字符的个数。1=rank[SA[i+1]+1]则必有S[SA[i]]#definefo(i,x,y)for(inti=x;i=rank[SA[i+1]+1])ans++;printf("%d\n",ans);}}
Cold_Chair
·
2017-07-10 19:29
Suffix
array
JZOJ 100037【NOIP2017提高A组模拟7.11】
后缀数组
题目描述:给出S的SA,求S最少的不同字符的个数。1=rank[SA[i+1]+1]则必有S[SA[i]]#definefo(i,x,y)for(inti=x;i=rank[SA[i+1]+1])ans++;printf("%d\n",ans);}}
Cold_Chair
·
2017-07-10 19:29
Suffix
array
BZOJ4516 [Sdoi2016]生成魔咒 后缀自动机/
后缀数组
题意:一个串初始为空,n次像串尾添加元素,每次添加后回答本质不同的子串个数n usingnamespacestd; constintmaxn=100009,Log=18; intc[maxn],t[maxn],t2[maxn],sa[maxn],rank[maxn],height[maxn]; ints[maxn],b[maxn],ft[maxn],nxt[maxn],pre[maxn]; in
Flere825
·
2017-06-14 21:00
后缀数据结构
*
后缀数组
今天是2017/5/31,DCDCBigBig的第十六篇博文
后缀数组
(SA+Rank+Height)#include#include#include#includeusingnamespacestd;intrank
DCDCBigBig
·
2017-05-31 21:51
算法-字符串
*
后缀数组
今天是2017/5/31,DCDCBigBig的第十六篇博文
后缀数组
(SA+Rank+Height)#include#include#include#includeusingnamespacestd;intrank
DCDCBigBig
·
2017-05-31 21:51
算法-字符串
后缀数组
复习小记
定义:suf[i]表示以i为开头的后缀rank[i]表示suf[i]的排名,sa[i]表示排名为i的后缀height[i]表示sa[i]和sa[i-1]的lcph[i]表示suf[i]和suf[sa[rank[i]-1]]的lcpsa[rank[i]]=i,所以只要能求出rank,就可以求sa倍增求rank相当于把n个后缀排序,直接暴力排,显然是O(n^2*log(n))我们可以考虑假如已经处理了
Drin_E
·
2017-04-24 22:01
后缀数组
[JZOJ5084]子串
1≤n≤500000题目分析对s构造
后缀数组
,然后考虑从大到小枚举LCP的长度,然后每次答案加上LCP长度大于等于该值的子串个数。
a_crazy_czy
·
2017-04-24 17:00
后缀数组
OI
[BZOJ4199][NOI2015]品酒大会
后缀数组
像这种“r相似”的题目是一种套路,搞出SA之后按height数组合并集合。统计答案的时候注意细节代码:typenode=recordt,id:int64;end;constmaxn=300100;maxl=-1000000000;varn,i,j,p,q:longint;max,min,size:array[0..maxn]ofint64;s:ansistring;a,rank,sa,x,y,bu
DOFYPXY
·
2017-04-18 21:30
后缀数组
【jzoj5052】【旅游路线】【
后缀数组
】
题目大意A君准备在Z国进行一次旅行,Z国中有n个城市,城市从1到n进行编号,其中1号城市为Z国首都。Z国的旅行交通网由n-1条单向道路构成,并且从任何一个城市出发都可以通过旅行网到达首都。一条旅行交通网中的旅行线路,可以用线路上所经过的城市来描述,如{v1,v2,v3,……,vm},它表示一条经过了m个城市的旅行路线,且城市vi到城市vi+1有一条单向道路相连。两个城市是相似的,当且仅当他们所连接
inklutcuah
·
2017-04-14 15:01
jzoj
字符串
The Week Code - Issue #1
本周推送的五题具体知识点如下:hash+
后缀数组
链表
coderpai
·
2017-04-11 11:29
acm
ACM
后缀自动机的性质应用
两个串的最长公共子串这个问题可以用DP来解决,也可以用
后缀数组
。
clover_hxy
·
2017-03-29 09:41
后缀自动机
bzoj 3796: Mushroom追妹纸 (
后缀数组
+KMP+二分)
还是好好想
后缀数组
的做法吧。这道题最恶心的限制就是限制3:s3不是w的子串。那么如果没有这个限制该怎么做呢?我们用间隔符连接s1,s2,用
后缀数组
求出height数组。
clover_hxy
·
2017-03-28 16:21
字符串处理
后缀数组
KMP
[BZOJ3796]Mushroom追妹纸(hash+
后缀数组
+二分)
题目描述传送门题解把s1和s2接在一起,中间加一个分隔符预处理出s3在s1和s2中的哪些位置出现过(hash)求出sa和height,容易知道答案一定在相邻的两个在不同串里的后缀中产生对于每一对相邻的后缀,二分一下满足条件的最大长度,即没有出现s3(前缀和)时间复杂度O(nlogn)代码#include#include#include#include#includeusingnamespacest
Clove_unique
·
2017-03-28 16:22
题解
hash
后缀数组
二分
SA(
后缀数组
)——倍增法模板
倍增法原理:一步一步把n个后缀按照它们的前2^k的字符排序。当我们求出按前2^k个字符排序的顺序时,对于按照前2^(k+1)个字符的排序,可以把它拆成前后两个2^k个字符部分,由于它们的顺序我们是知道的,于是打一个二维桶排即可。Height_i表示排名第i位的后缀和排名第i-1位的后缀的最长公共前缀。Height性质:Height_rank[j]>=Height_rank[j-1]-1P.S:可以
Cold_Chair
·
2017-03-17 21:34
模版
Suffix
array
后缀数组
_不相同的子串的个数
给定一个字符串,求不相同的子串的个数。算法分析:每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同的前缀的个数。如果所有的后缀按照suffix(sa[1]),suffix(sa[2]),suffix(sa[3]),......,suffix(sa[n])的顺序计算,不难发现,对于每一次新加进来的后缀suffix(sa[k]),它将产生n-sa[k]+1个新的前缀。但是其中有hei
Gitfan
·
2017-03-11 15:09
后缀数组
http://uoj.ac/problem/35#include#include#include#definemaxn100005usingnamespacestd;chars[maxn];intsa[maxn],t[maxn],t2[maxn],c[maxn],Rank[maxn],height[maxn],n;voidbuild_sa(intm){inti,*x=t,*y=t2,*T,p;n+
Gitfan
·
2017-03-10 10:52
POJ 2217
我的第一想法就是二分子串的长度,开始想用哈希搞一搞,后来发现还是还是
后缀数组
扎实。
Andymion
·
2017-03-08 18:28
字符串
Manacher算法详解
算法详解RT,Manacher算法今天第一次写,有不少细节,也容易写错,下面进行一个小小的总结原理首先,我们应该已经看到过很多有关回文串的题目了,当我们不会Manacher的时候,我们往往是用回文自动机
后缀数组
代替的
Renatus_Goseqh
·
2017-03-03 15:14
Manacher
[BZOJ4310]跳蚤
后缀数组
+线段树
一个log的题被我强行写成了两个log诶再怎么样过了就是了构建SA,然后二分答案,贪心判断至少要剪断多少次才能使得答案成为最大的/**************************************************************Problem:4310User:di4CoveRyLanguage:C++Result:AcceptedTime:12576msMemory:1
HbFS-
·
2017-03-03 08:46
后缀数组
[BZOJ4199][Noi2015]品酒大会(
后缀数组
+并查集)
题目描述传送门题解别出心裁的一道sa,想了好久。。40ptsO(n2)的做法应该很好想吧sa+st表就可以了qwq100pts首先求出height数组考虑如果只求一个r的话怎么做显然可以将height数组分组,每个组里都是height>=r的,然后对于每一个组计数+取max那么如果有多个r呢?显然r大的要比r小的分的组少一些换句话说就是如果已经将r分组,再将r-1分组的时候,可以往上一次分的组里插
Clove_unique
·
2017-02-16 11:34
题解
并查集
NOI
后缀数组
POJ 2406(连续重复子串)
解题思路:法一:-可以使用
后缀数组
解决。-想法非常简单,就是穷举字符串S的长度k,然后判断是否满足。
nixinyis
·
2017-02-03 11:43
POJ的代码
后缀数组
&
后缀自动机
KMP匹配
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他