字符串:KMP
文章平均质量分 94
ProLightsfxjh
这个作者很懒,什么都没留下…
展开
-
2016 UESTC Training for Search Algorithm & String I - 谭爷剪花布条 KMP
KMP 套版题 与自己收藏的模版唯一不同的是这里是子串不能重叠的,恰好自己的模版是返回一个vector存储着相应 子串的起始下标。 这样sort一下,然后开始一个一个访问, 如果前一个的起点为Ind + sz *iter, 则忽略当前这个匹配的子串 复杂度O(M + N) //M, N分别为T串和P串的长度原创 2016-06-10 11:03:00 · 826 阅读 · 0 评论 -
HDU - 4763 Theme Section KMP
题意:给出一个字符串,找出一个尽可能长的子串,要求其在字符串的开头结尾中间都出现且不能有重叠。 KMP 先对主串跑出next数组,然后对于ptr = n,从nxt[n]开始,判断s.substr(nxt[ptr], n - 2*nxt[ptr])里是否出现了 s.substr(0, nxt[ptr]);如果没有则ptr = nxt[ptr]直到ptr == 0; 这里每个nxt[ptr]必有 s.substr(0, nxt[ptr]) == s.substr(n - nxt[ptr], nxt[ptr]),原创 2017-02-16 18:25:05 · 642 阅读 · 0 评论 -
Codeforces Round #299 (Div. 2) D. Tavas and Malekas KMP+预处理、string suffix structures
题意:给一个字符串p,然后一个长为n的字符串s上,对于m个yi,每个yi,有syi-1syi-1+1... syi-1 + |p| - 1 = p,如果s是可能存在的求出s的可能方案数%1e9+7,否则输出0. KMP+预处理、string suffix structures 搞出字符串p的next数组,然后预处理出p的next[sz]的所有 {k | p[1..k] == p[i - k + 1..i]},放在bool check[k] == true里。 然后扫一遍y[],对于相邻的2个y 有y[i]原创 2016-11-21 23:57:12 · 920 阅读 · 0 评论