2015年7月15日

POJ 2752 (KMP)

摘要: 题目链接:http://poj.org/problem?id=2752题意:给一个字符串,判断前缀和后缀是相同的位置,把这些位置从小到大输出出来。题解:通过字符串得到next数组,然后从next[len]开始。其值就是最后一个是相同前缀后缀的位置,然后,i=next[i],就是不断的向前找,就匹配了... 阅读全文

posted @ 2015-07-15 20:59 小松song 阅读(200) 评论(0) 推荐(0)

HDU 1358 (求最小循环节)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1358题意:大概就是说给你一个字符串,然后找出能够循环的子串,输出子串某位置以及循环节的个数。题解:用KMP算法得到next数组。然后,从i=2开始遍历,得到的i-next[i]为循环节大小。如果对于i能... 阅读全文

posted @ 2015-07-15 16:40 小松song 阅读(202) 评论(0) 推荐(0)

HDU 3746 (KMP求循环节)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746题意:给一段字符串,求添加多少个字符,使得这个字符串至少循环两次。题解:先求的next数组,然后,len-next[len]的值为最小循环节。所以,如果len能够整出这个循环节,则已经构成了循环了,... 阅读全文

posted @ 2015-07-15 16:00 小松song 阅读(191) 评论(0) 推荐(0)

KMP算法总结

摘要: KMP里里外外学了很多遍,然后从一位大牛那里学到了比较易懂的理解方法。博客链接:http://www.matrix67.com/blog/archives/115唉~KMP算法Next数组强大无比。Next数组: 1 //next数组的求法 2 void getNext(int len) 3 { 4... 阅读全文

posted @ 2015-07-15 15:43 小松song 阅读(174) 评论(0) 推荐(0)

导航