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
----后缀数组
SPOJ 220 Relevant Phrases of Annihilation(
后缀数组
+二分)
Description给定n个字符串,求在每个字符串中至少出现两次且不重叠的最长子串的长度Input第一行为一整数T(T=k则满足条件,如果每组都不满足条件则这个k值不满足条件Code#include #include #include #include usingnamespacestd; #definemaxn111111 #defineINF0x3f3f3f3f intt1[maxn],t2
V5ZSQ
·
2016-05-03 14:00
CSU 1608 Particle Collider(
后缀数组
+二分)
Description给出n个串,求所有满足条件的子串,使得该子串和其反串出现在超过n/2个串中Input多组用例,每组用例第一行为一整数n表示串的数量(n #include #include #include #include usingnamespacestd; #definemaxn222222 intt1[maxn],t2[maxn],c[maxn],sa[maxn],Rank[maxn]
V5ZSQ
·
2016-05-03 14:00
POJ 3294 Life Forms(
后缀数组
+二分)
Description给出n个串,求至少出现在n/2+1个串中的最长公共子串Input多组用例,每组用例第一行为一整数n(1 #include #include #include usingnamespacestd; #definemaxn111111 intt1[maxn],t2[maxn],c[maxn],sa[maxn],rank[maxn],height[maxn]; boolcmp(in
V5ZSQ
·
2016-05-03 13:00
POJ 3415 Common Substrings(
后缀数组
+单调栈)
Description给出两个串a和b,求a和b的长度不小于k的公共子串数量Input多组用例,每组用例第一行为一整数k,之后为两个字符串表示a和b,两个串的串长不超过10^5,k不超过两串串长,以k=0结束输入Output对于每组用例,输出a和b的长度不小于k的公共子串数量SampleInput2aababaaabaabaa1xxxx0SampleOutput225Solution将两串连在一起
V5ZSQ
·
2016-05-03 13:00
POJ 3450 Corporate Identity(
后缀数组
+二分)
Description求n个字符串的最长公共子串长度Input多组用例,每组用例第一行为字符串个数n(2 #include #include #include usingnamespacestd; #definemaxn888888 intt1[maxn],t2[maxn],c[maxn],sa[maxn],rank[maxn],height[maxn]; boolcmp(int*r,inta,i
V5ZSQ
·
2016-05-03 12:00
【BZOJ3654】图样图森破【最长路】【
后缀数组
】【ST表】【回文串】【LCP】
于是我们需要一个快速查询LCP的数据结构,选择
后缀数组
+ST表就可以了。但是这样做复杂度还是比较高,于是我们考虑用图论模型优化。先把单个串是回文串的情况特判掉。对每
BraketBN
·
2016-05-03 11:00
POJ 1743 Musical Theme(
后缀数组
+二分)
Description给出一个数字串,求这个数字串中长度最少为5的最长重复子串的长度(重复字串不需要完全相同但不能有重叠,只要某个字串同时加减一个相同的值后变为另一个字串即可)Input多组用例,每组用例首先输入一整数n(n=k说明这两个子串不重叠,满足条件,如果所有组都不满足则不满足条件,注意这样算出的最长重复子串长度是差值串的,原串的最长重复字串长度还需要在这个基础上加一Code#includ
V5ZSQ
·
2016-05-03 11:00
POJ 2774 Long Long Message(
后缀数组
)
SampleInputyeshowmuchiloveyoumydearmotherreallyicannotbelieveityeaphowmuchiloveyoumydearmotherSampleOutput27Solution
后缀数组
V5ZSQ
·
2016-05-03 11:00
poj3581 Sequence (
后缀数组
)
TimeLimit: 5000MS MemoryLimit: 65536KTotalSubmissions: 6305 Accepted: 1364CaseTimeLimit: 2000MSDescriptionGivenasequence,{A1, A2,..., An}whichisguaranteed A1 > A2,..., An, youaretocutitintothreesub-se
Kirito_Acmer
·
2016-05-02 20:00
poj
后缀数组
UVA 11475 Extend to Palindrome (kmp || manacher ||
后缀数组
)
思路:这题可以kmp,manacher,
后缀数组
三种方法都可以做,kmp和manacher效率较高,时间复杂度是O(n),
后缀数组
时间复杂度是O(nlogn).思路是求出元串的后缀和反串的前缀匹配的最大长度
Kirito_Acmer
·
2016-05-01 15:00
KMP
后缀数组
Manacher
poj3415 Common Substrings (
后缀数组
+单调队列)
TimeLimit: 5000MS MemoryLimit: 65536KTotalSubmissions: 9414 Accepted: 3123DescriptionAsubstringofastring T isdefinedas:T(i, k)=TiTi+1...Ti+k-1,1≤i≤i+k-1≤|T|.Giventwostrings A, B andoneinteger K,wedefi
Kirito_Acmer
·
2016-04-30 17:00
后缀数组
单调队列
【模板】
后缀数组
#include #include #include #include usingnamespacestd; constintN=100010; intt1[N],t2[N],sa[N],c[N]; intRank[N],height[N]; chars[N]; intn; voidbuildsa(intm){ inti,*x=t1,*y=t2; for(i=1;i=1;i--)sa[c[x[i]
yxr0105
·
2016-04-30 12:00
模板
后缀数组
poj3693 Maximum repetition substring (
后缀数组
+rmq)
DescriptionTherepetitionnumberofastringisdefinedasthemaximumnumber R suchthatthestringcanbepartitionedinto R sameconsecutivesubstrings.Forexample,therepetitionnumberof"ababab"is3and"ababa"is1.Givenast
Kirito_Acmer
·
2016-04-29 22:00
后缀数组
RMQ
poj 3080 Blue Jeans
有人说用
后缀数组
。。不会。。但是discuss说kmp+暴力可以玩。于是真的好水这道题。。
qq_32995183
·
2016-04-29 20:00
KMP
poj
spoj687 REPEATS - Repeats (
后缀数组
+rmq)
Astringsiscalledan(k,l)-repeatifsisobtainedbyconcatenatingk>=1timessomeseedstringtwithlengthl>=1.Forexample,thestrings=abaabaabaabaisa(4,3)-repeatwitht=abaasitsseedstring.Thatis,theseedstringtis3chara
Kirito_Acmer
·
2016-04-29 18:00
后缀数组
RMQ
SPOJ 694(
后缀数组
)
D- NewDistinctSubstringsTimeLimit:280MS MemoryLimit:1572864KB 64bitIOFormat:%lld&%lluSubmit StatusDescriptionGivenastring,weneedtofindthetotalnumberofitsdistinctsubstrings.InputT-numberoftestc
qq_24489717
·
2016-04-29 13:00
后缀数组
应用小结
前言之前学了
后缀数组
,这真是一个神奇的东西。早就想总结一些SA的应用,但一直没时间,现在终于抽出空来写一下自己的心得。
Akakii
·
2016-04-28 23:51
SA
POJ 2774(
后缀数组
的应用)
LongLongMessageTimeLimit: 4000MS MemoryLimit: 131072KTotalSubmissions: 25926 Accepted: 10560CaseTimeLimit: 1000MSDescriptionThelittlecatismajoringinphysicsinthecapitalofByterland.Apieceofsadnewscomest
qq_24489717
·
2016-04-28 21:00
GDOI2016第二次模拟总结 4.25 ~ 4.27
又去想了想
后缀数组
,拓展KMP,感觉都没有SAM好打,就
YxuanwKeith
·
2016-04-28 08:00
后缀数组
模版
#include #include #include #include #include #include #include usingnamespacestd; constintmaxn=100009; ints[maxn],sa[maxn],len,c[maxn],t[maxn],t2[maxn]; voidbuild_sa(int*s,int*sa,intn,intm)//s原数组,sa
zhhx2001
·
2016-04-27 21:00
[SA] BZOJ 2251 [2010Beijing Wc]外星联络
见
后缀数组
后暴力就好了考前练版子,竟然WA了几发#include #include #include #include usingnamespacestd; inlinecharnc() { staticcharbuf
u014609452
·
2016-04-27 19:00
后缀数组
倍增算法代码及解释
经历最近在学习
后缀数组
,我发现
后缀数组
那20多行代码10多个for,真的是太抽象了,基数排序又不是很会所以学起来异常艰难,在冥思苦想以及抱神犇(Dumpling)的大腿后终于有些理解了,将自己写的注释发出来帮助和我一样的人
QWsin
·
2016-04-27 15:00
练习——
后缀数组
题目
BZOJ1717.[Usaco2006Dec]MilkPatterns产奶的模式题意:给一个字符串,求最长的出现至少K次的子串,子串可以重叠。难度:*和模型一样,直接上。CODE:#include#include#includeusingnamespacestd;constintMAX_N=20005;intn,K,a[MAX_N];voidinit(){scanf("%d%d",&n,&K);f
ALXPCUN
·
2016-04-27 09:50
【BZOJ4516】【Sdoi2016】生成魔咒
后缀数组
线段树
ZJOI2015陈老师幻想乡的简化(阉割)版,所以可以不用Trie上后缀自动机那么高大上的东西。。。首先不难想象出O(n^4)以及O(n^2)的做法,一种是每穷举一个字串再暴力检查是否已经出现,一种是在第一种的基础上Hash优化。这两种都没有什么卵用我们就不提了。首先我们将数字串反向读入,那么每一个加入的前缀对应反串的一个后缀,我们每加入一个字母,相当于有该字母开始的后缀和目前已经加入的后缀的最大
qq_34637390
·
2016-04-26 19:00
[bzoj 3676][uoj #103]【APIO2014】Palindromes回文串
后缀数组
+manachar
给你一个由小写拉丁字母组成的字符串ss。我们定义ss的一个子串的存在值为这个子串在ss中出现的次数乘以这个子串的长度。对于给你的这个字符串ss,求所有回文子串中的最大存在值。输入格式一行,一个由小写拉丁字母(a~z)组成的非空字符串ss。输出格式输出一个整数,表示所有回文子串中的最大存在值。样例一inputabacabaoutput7explanation用∣s∣∣s∣表示字符串ss的长度。一个字
ALPS233
·
2016-04-26 11:00
[bzoj 3676][uoj #103]【APIO2014】Palindromes回文串
后缀数组
+manachar
给你一个由小写拉丁字母组成的字符串ss。我们定义ss的一个子串的存在值为这个子串在ss中出现的次数乘以这个子串的长度。对于给你的这个字符串ss,求所有回文子串中的最大存在值。输入格式一行,一个由小写拉丁字母(a~z)组成的非空字符串ss。输出格式输出一个整数,表示所有回文子串中的最大存在值。样例一inputabacabaoutput7explanation用∣s∣∣s∣表示字符串ss的长度。一个字
ALPS233
·
2016-04-26 11:00
usaco隐藏口令
过几天一定要学
后缀数组
,题解上说可以用
后缀数组
解决 这里用,最小表示法,也算是一个模版了吧!usaco隐藏口令有时候程序员有很奇怪的方法来隐藏他们的口令。
zhhx2001
·
2016-04-25 22:00
【APIO2014】【UOJ103】【BZOJ3676】 Palindromes 题意&代码(C++)
题目链接:http://uoj.ac/problem/103题解:一道题让我新了解到了两个算法:处理回文子串问题的manacher算法与快速求RMQ的ST算法,至于
后缀数组
之前学习过不过还是抄模板了,附学习资料
deritt
·
2016-04-25 15:41
oi之路
DERIT的博客专栏
【APIO2014】【UOJ103】【BZOJ3676】 Palindromes 题意&代码(C++)
题目链接:http://uoj.ac/problem/103题解:一道题让我新了解到了两个算法:处理回文子串问题的manacher算法与快速求RMQ的ST算法,至于
后缀数组
之前学习过不过还是抄模板了,附学习资料
DERITt
·
2016-04-25 15:00
算法
字符串
后缀数组
st
Manacher
【APIO2014】【UOJ103】【BZOJ3676】 Palindromes 题意&代码(C++)
题目链接:http://uoj.ac/problem/103题解:一道题让我新了解到了两个算法:处理回文子串问题的manacher算法与快速求RMQ的ST算法,至于
后缀数组
之前学习过不过还是抄模板了,附学习资料
DERITt
·
2016-04-25 15:00
算法
字符串
后缀数组
st
Manacher
梳理——
后缀数组
应用
//难度从*~*****递增,*为简单一、一个字符串1.POJ1743——不可重叠的最长重复子串题意:给一个字符串,求重复出现的子串中最长的,子串不能重叠。难度:*算法&&技巧:如果是求可以重叠直接找Height数组中最大的就可以,但是要不能重叠,就需要二分答案,并按照二分的结果把Height分组,判断存在的条件是某一组中sa的最大最小值相减大于二分长度。2.POJ3261——可重叠并且出现至少K
ALXPCUN
·
2016-04-25 08:03
利用
后缀数组
构造后缀树
前段时间学
后缀数组
的时候上网查相关资料,看到说
后缀数组
和后缀树是可以相互转化的,并且uoj上有大量通过后缀自动机建出后缀树然后dfs遍历获得
后缀数组
的模板,但是通过
后缀数组
来建后缀树的资料确实稀缺。
u011542204
·
2016-04-24 19:00
后缀数组
复习小记
前言学习了SAM为什么要学习SA?(没复习之前我就是传说中的只会SAM不会SA的蒟蒻)因为有些问题SA可做SAM不可做。(以下开始扯淡,大家可以跳过前言部分了……我还记得我上一次打SA是将近一年前的GDOI赛场上——day1只考了50分的我对比同年级其他神犇十分失落。day2我开始看题:t1sb广搜呀!t2sbtarjan呀!t3奥妙重重,字符串的题……恩,我只会sa,想想如何搞一波……于是得到了
WerKeyTom_FTD
·
2016-04-22 19:00
[bzoj4516][SDOI2016]生成魔咒
为了练习SA由于我是蒟蒻,所以这题我最终打的是第二眼看出来的算法——
后缀数组
首先它没有强制在线!于是可以先把最终串搞出来。然后把最终串倒过来。那么问题就被转化为:n个询问第i个询问
WerKeyTom_FTD
·
2016-04-22 19:00
[
后缀数组
set] BZOJ 4516 [Sdoi2016]生成魔咒
将串反过来
后缀数组
然后用set维护一个序列插入时修改答案即可#include #include #include #include usingnamespacestd; typedeflonglongll
u014609452
·
2016-04-22 10:00
POJ1226:Substrings(
后缀数组
)
DescriptionYouaregivenanumberofcase-sensitivestringsofalphabeticcharacters,findthelargeststringX,suchthateitherX,oritsinversecanbefoundasasubstringofanyofthegivenstrings.InputThefirstlineoftheinputcon
lcchuguo
·
2016-04-20 10:00
bzoj4516 生成魔咒
后缀数组
考虑
后缀数组
。将整个数组反过来,那么每次就相当于查询后缀[i,n]中有多少本质不同的子串。
lych_cys
·
2016-04-19 07:00
后缀数组
树状数组
RMQ
【BZOJ3238】差异
后缀数组
反正又要办停课了不如一块一块慢慢刷。。。最近集中处理一下字符串和数据结构(说起来真轻巧)这种直接把“后缀”两个字糊脸上的题也是不常见。首先长度和(也就是求和式中的前两项)比较简单,不讨论,重点就是原来字符串中任意两项的公共前缀如何计算。首先将sa数组和height数组做出来(不要和h搞混,注意弄清含义),然后计算以height[i]作为答案的数对的组数K,在答案中减去2*k*height[i]即可
qq_34637390
·
2016-04-18 20:00
字符串
后缀数组
【BZOJ1031】字符加密
后缀数组
后缀数组
模板题用的罗学长惊为天人的模版。。。当时搅了整整一周才明白。。。
qq_34637390
·
2016-04-18 18:00
字符串
后缀数组
模板题
后缀数组
倍增法
[转自:http://www.cppblog.com/superKiki/archive/2010/05/15/115421.html]
后缀数组
【
后缀数组
是处理字符串的有力工具。
reverie_mjp
·
2016-04-17 22:00
后缀数组
[BZOJ1031][JSOI2007]字符加密Cipher(
后缀数组
)
题目描述传送门题解把环展成链,利用
后缀数组
的性质求出后缀按照字典序的排名,最后判断一下是否满足条件并输出。
Clove_unique
·
2016-04-17 18:00
后缀数组
bzoj
JSOI
bzoj 2251(
后缀数组
)
2251:[2010BeijingWc]外星联络TimeLimit: 30Sec MemoryLimit: 256MBSubmit: 660 Solved: 388[Submit][Status][Discuss]Description小P在看过电影《超时空接触》(Contact)之后被深深的打动,决心致力于寻找外星人的事业。于是,他每天晚上都爬在屋顶上试图用自己的收音机收听外星人发来的信息。
M_AXSSI
·
2016-04-15 19:00
bzoj1717(
后缀数组
)
1717:[Usaco2006Dec]MilkPatterns产奶的模式TimeLimit: 5Sec MemoryLimit: 64MBSubmit: 856 Solved: 470[Submit][Status][Discuss]Description农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠。我们称之
M_AXSSI
·
2016-04-15 16:00
4516: [Sdoi2016]生成魔咒|
后缀数组
|线段树|ST表
将原串倒过来,每次添加一个字符相当于增加一个后缀。问题转化为向集合中动态添加后缀求本质不同的字串的个数,离线求出SA找出当前添加的串与集合中的串的最大的LCP,就是重复出现的子串的个数,线段树维护集合中rank的前驱和后继,考场上的原代码(SDOI唯一A掉的一道题QAQ)#include #include #include #include #include #include #include #
ws_yzy
·
2016-04-15 08:00
后缀数组
模板复习计划——字符串
http://uoj.ac/problem/35
后缀数组
模板来自千古神犇jxr,宏改进版#include #include #include usingnamespacestd; #definerep(
nlj1999
·
2016-04-14 11:00
NOI2015模拟SXK 字符串游戏
后缀数组
预处理+主席树查询
题目大意给你一个长度为N的字符串T,T[l,r]表示T中第l个字符到第r个字符组成的子串,现在给你两种询问s’j’d’f’ha’s’k’l’j’d’f1.给你两个整数k1,k2,询问在所有T不相等的字符串中,字典序从小到大排序,排在第k1位的字符串T[l,r],如果该子串出现了多次,则询问起始位置第k2小的那个。输出询问的那个子串的起始位置和终止位置(即l和r)2.给定两个整数l,r,询问子串T[
YxuanwKeith
·
2016-04-13 20:00
Codeforces India Hack2016 653ABCED
CodeforcesIndiaHack2016653ABCED通过数:2Rating:1288倒数第二题是
后缀数组
,倒数第一题没看,哪一天再厉害一点再做吧。
beihai2013
·
2016-04-13 19:00
[数据结构-
后缀数组
小结]
本文参考《训练指南》P219、《IOI2009国家集训队论文by罗穗骞》
后缀数组
是对文本串进行处理,而非模板串(在文本串中查找模板串),例如搜索引擎。而AC自动机是对模板串进行预处理。两者区别。
reborn_ZhMZ
·
2016-04-12 12:00
后缀数组
(模板)
#include #include #include #include #defineN30000 usingnamespacestd; inta[N+5],n,k,sa[2][N+5],v[N+5],rank[2][N+5],h[N+5]; chars[N+5]; boolp,q; inlinevoidinit(){ scanf("%d",&n); scanf("%s",s+1); for(in
qq_20669971
·
2016-04-11 19:00
模板相关
KMP算法POJ3461AC自动机×后缀自动机
后缀数组
中国剩余定理×单纯形法×快速傅里叶变换双联通分量强联通分量×2-SATLCT×凸包CDQ分治Splay||TreapBZOJ3223
Fuxey
·
2016-04-11 17:00
模板
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他