KMP算法
飘过的小牛
不停成长才会洞悉成功的奥妙,fighting!
展开
-
POJ-2752 Seek the Name, Seek the Fame
题目链接:http://poj.org/problem?id=2752 题目大意: 给你一个字符串S。假如为ababcababababcabab.找出这个字符串中所有的前缀等于后缀的子串。输出它们的长度。 第一个为a,最后一个为b,所以1不行。 前两个为ab,最后二个也为ab,所以2行。 前三个为aba,后三个为bab,所以3不行。 以此类推。。找出全部 当然,全部字符串也是可以的。原创 2011-11-14 13:46:40 · 2160 阅读 · 0 评论 -
POJ-3461 Oulipo
题目链接:http://poj.org/problem?id=3461 题目大意: 给你两个字符串p和s,求出p在s中出现的次数。 解题思路: 这道题跟POJ2406有点相似,那道题是求abcabcabc,则就是3次。 而这道题,abababa中aba出现了3次。 区别在于,2406求的是模式串的匹配问题,而这道题求的是主串和子串的匹配问题。 关键在于那个j=nextval[j]的意原创 2011-11-14 21:55:17 · 7554 阅读 · 5 评论 -
Hdu-1711 Number Sequence
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目大意: 从s串中如果能找出p串,则输出p串在s串的位置(两个串下标都从1开始) 解题思路: KMP算法的简单模拟 代码如下: #include #include #include #include using namespace std; int s[1000原创 2011-11-11 13:49:29 · 1690 阅读 · 0 评论 -
HDU-3746 Cyclic Nacklace
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 题目大意: 给你一个字符串,要求将字符串的全部字符最少循环2次需要添加的字符数。 例子: abcabc 已经循环2次,添加数为0 abcac 没有循环2次,添加字符abcac。数目为5. abcabcab 已经循环过2次,但第三次不完整,需要添加数为1 解题思路:原创 2011-11-13 12:00:36 · 6309 阅读 · 4 评论 -
POJ-2406 Power Strings
题目链接:http://poj.org/problem?id=2406 解题思路: 水题。。。就是求模式串中的子串循环次数。 代码如下: #include #include #include #include #include using namespace std; #define N 1000010 char s[N]; int nextval[N]; int len; void原创 2011-11-14 09:52:06 · 1601 阅读 · 0 评论 -
POJ-1961 Period
题目链接:http://poj.org/problem?id=1961 题目大意: 给你一个字符串,求这个字符串到第i个字符为止的循环节的次数。 比如aabaabaabaab,长度为12.到第二个a时,a出现2次,输出2.到第二个b时,aab出现了2次,输出2.到第三个b时,aab出现3次,输出3.到第四个b时,aab出现4次,输出4. 解题思路: 这道题好像就是POJ 2406原创 2011-11-14 10:32:45 · 6878 阅读 · 0 评论