字符串—KMP/扩展KMP
slongle_amazing
这个作者很懒,什么都没留下…
展开
-
[POJ2406] Power Strings
传送门http://poj.org/problem?id=2406题目大意给定一个串A,保证A=n个B连起来,询问最大n题解其实求出最大n就是求最小B KMP处理出A的next数组 我们回忆next的定义,next[i]表示A[1..next[i]]=A[i-next[i]+1..i]且next[i]最大,即B最小 那么肯定有最小循环节B为A[i-next[i]+1..i],如果不是,那最小循原创 2015-12-16 12:26:26 · 309 阅读 · 0 评论 -
[NKOI1315] 子串清除
传送门http://oi.nks.edu.cn/searchproblem题目大意给定A,B串,在A串中从左向右找到B然后删除,询问重复多少次后停止题解找到B的位置可以KMP,但有删除,所以每次我们把A串按位依次加入栈中,j=m时把栈尾变成i-m,每次记录A串匹配到i时,B串匹配的指针j在哪里,为删除后j指针返回做准备var next:array[0..400]of longint; t,a,b原创 2015-12-15 23:08:46 · 508 阅读 · 0 评论 -
[POJ3080] Blue Jeans
传送门http://poj.org/problem?id=3080题目大意给定n个串,询问最长公共字串,长度>=3,长度相同为字典序最小题解KMP+暴力枚举var x:array[0..20]of string; next:array[0..100]of longint; i,j,k,l,o,p,t,tt,ttt:longint; n,m,anss:longint; a,ans:strin原创 2015-12-16 14:50:14 · 383 阅读 · 0 评论 -
[POJ1961] Period/[NKOI2201] 周期
传送门http://oi.nks.edu.cn/showproblem?problem_id=2201题解同[POJ2406] Power Stringsconst maxn=1000005;var next:array[0..maxn]of longint; i,j,k:longint; n,m:longint; a:ansistring;begin m:=0; while no原创 2015-12-16 12:41:15 · 560 阅读 · 0 评论 -
[BZOJ3670] [Noi2014]动物园
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=3670题目大意对于每个子串A[1..i],定义sum[i]为它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠的数量对于每个子串A[1..i],定义sum[i]为它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠的数量 求∏ni=1sum[i]+1\prod _{i=1}^nsum[i]+1题解原创 2016-02-01 21:52:13 · 542 阅读 · 0 评论 -
[BZOJ3942] [Usaco2015 Feb]Censoring
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=3942题目大意有一个S串和一个T串,长度均小于1,000,000,设当前串为U串,然后从前往后枚举S串一个字符一个字符往U串里添加,若U串后缀为T,则去掉这个后缀继续流程。题解KMP大水题const maxn=1000005;var u,s,t:array[0..maxn]of原创 2016-02-04 16:22:34 · 546 阅读 · 0 评论 -
字符串相关总结
HASHHASH相关Tire树Tire树初探KMP/扩展KMPKMP/扩展KMPManacherManacher最小表示法最小表示法原创 2015-08-22 10:23:05 · 561 阅读 · 0 评论 -
KMP/扩展KMP
参考http://www.matrix67.com/blog/archives/115简单清晰,入门首选 http://blog.csdn.net/v_july_v/article/details/7041827 JULY写的,个人认为总结的很全面,但很长,如果有时间可以自己筛选一些看一看KMP我们定义a(模板串)和b(子串) n为a的长度,m为b的长度while (j>0)and(b[j+1]原创 2015-12-15 17:38:56 · 429 阅读 · 0 评论 -
20160412模拟
T1 密码破译(password )题目大意 给定一个字符串,多次询问[L,R]的串中最短循环节大小给定一个字符串,多次询问[L,R]的串中最短循环节大小N≤500000,Q≤2000000N\le 500000,Q\le 2000000题解 询问[1,n]就是kmp的经典应用了,所以暴力复杂度为O(QN)询问[1,n]就是kmp的经典应用了,所以暴力复杂度为O(QN)当我们判断循原创 2016-04-12 18:48:17 · 592 阅读 · 0 评论