经典问题 : 给出一个由某个循环节构成的字符串,要你找出最小的循环节,例如 abababab 最小循环节当是 ab ,而类似 abab 也可以成为它的循环节,但并非最短。 分析 : 对于上述问题有两个结论 如果对于next数组中的 i, 符合 i % ( i - next[i] ) == 0 && ...
分类:
其他好文 时间:
2017-09-20 23:27:42
阅读次数:
319
题目描述 一个串T是S的循环节,当且仅当存在正整数k,使得S是$T^k$(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节。给定一个长度为n的仅由小写字符构成的字符串S,请对于每个k(1<=k<=n),求出S长度为k的前缀的最短循环节的长度$per_i$。字符串大师小Q觉得这个问题过 ...
分类:
其他好文 时间:
2017-09-20 10:19:31
阅读次数:
134
一、理解next数组 1、约定next[0]=-1,同时可以假想在sub串的最前面有一个通配符“*”,能够任意匹配。对应实际的代码t<0时的处理情况。 2、next[j]可以有如下的几种理解思路:1)next[j]为sub[j]前面的字符串的前后缀字符串匹配的最大匹配长度例如sub=“ababap” ...
分类:
编程语言 时间:
2017-09-10 00:16:27
阅读次数:
223
51NOD 1277:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1277 跟HDU 6153还挺像的:http://www.cnblogs.com/Egoist-/p/7435573.html 相比与上面那个题,这个还 ...
分类:
其他好文 时间:
2017-08-26 18:30:23
阅读次数:
138
给你一个字符串,要求将字符串的全部字符最少循环2次需要添加的字符数。 没有优化的next数组的应用。 ...
分类:
其他好文 时间:
2017-08-25 20:29:08
阅读次数:
84
http://poj.org/problem?id=2752 题意:给一个字符串,问你前缀和后缀相同的位置有哪些 思路:很意思的一个题目,也发现了next数组隐藏着一个规律,就是next[len]的值就是最大前缀后缀相同的个数 ...
分类:
其他好文 时间:
2017-08-25 19:25:03
阅读次数:
189
有两个S,T串,扩展KMP求,每一个S串的后缀和T串的最长公共前缀长度。 详细介绍:https://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html 简单介绍一下: 扩展KMP,通过先处理T串next数组,然后用同样的方法去处理S,T; 具体意义: ...
分类:
其他好文 时间:
2017-08-22 01:48:58
阅读次数:
157
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4333 关于kmp next数组求最短重复字串问题请看;http://www.cnblogs.com/z1141000271/p/7406198.html 扩展kmp请看:http://www.cnblo ...
分类:
其他好文 时间:
2017-08-21 20:44:38
阅读次数:
221
题解: KMP中next数组的巧妙运用。在这里我们假设这个字符串的长度是len,那么如果len可以被len-next[len]整除的话,我们就可以说len-next[len]就是那个最短子串的长度为什么呢? 假设我们有一个字符串ababab,那么next[6]=4对吧,由于next的性质是,匹配失败 ...
分类:
其他好文 时间:
2017-08-21 20:36:01
阅读次数:
125
A Secret Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 256000/256000 K (Java/Others)Total Submission(s): 1530 Accepted Submission(s): 570 Probl ...
分类:
其他好文 时间:
2017-08-21 15:48:22
阅读次数:
218