
KMP
lin375691011
呵呵
展开
-
POJ 1961 Period
训练计划KMP第一题,训练的是对KMP中前缀函数的理解。 话说这个前缀函数真是难以理解啊~~ KMP的前缀函数处理出来的前缀数组表示当当前字符失配后,要向前调到哪一个位置可以继续匹配。也就是代表着跳到的那个位置之前的所有字符与当前失配字母前的相同数量个字母是相匹配的。 题目大意: 给出一个字符串,求他之前大于1的循环节. 直接看代码吧: #include ch原创 2014-03-31 20:07:21 · 6027 阅读 · 0 评论 -
POJ 2406 Power Strings
KMP第二题 这次知道了前缀数组的另一奇葩所在。 题目大意: 给出一个字符串,某个子串链接n次产生的,求最大的n。 这一看KMP算法正合适啊,就啪啪写上了,但是WA。之后发现了这样子一组数据:aabaabaa 得特判啊~~ 见代码: #include #include char s[1000005]; int num[1000005]; int main原创 2014-03-31 20:40:40 · 7155 阅读 · 0 评论