ACM kmp
qiqi_starsky
没有斗狼的胆量,就不要牧羊!
展开
-
hdu 3374 String Problem (kmp+最大最小表示法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3374 题目大意:输出最大和最小的是从哪一位开始的,同时输出最小循环节的个数。 这里简单介绍对字符串最小表示的方法: (1) 利用两个指针p1, p2。初始化时p1指向s[0], p2指向s[1]。 (2) k = 0开始,检验s[p1+k] 与 s[p2+k] 对应的字符是否相等,如原创 2015-10-12 14:19:53 · 334 阅读 · 0 评论 -
poj 2406 Power Strings(kmp循环节)
题目链接:http://poj.org/problem?id=2406 题目大意:如果n%(n-next[n])==0,则存在重复连续子串,长度为n-next[n]。 例如: a b a b a b next:-1 0 0 1 2 3 4 next[n]==4,代表着,前缀abab与后缀abab相等的最长长度,这说明原创 2015-10-12 14:19:44 · 252 阅读 · 0 评论 -
hdu 1686 Oulipo (kmp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1686 题目大意:寻找子链在母链中出现的次数。 1 #include 2 #include 3 #include 4 using namespace std; 5 int next[10010],sum,lens,lenc; 6 char str[10010],ch[原创 2015-10-12 14:19:29 · 306 阅读 · 0 评论 -
hdu 1358 Period
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1358 题目大意:解释一下输出数据, 第一组: 2 2 表示的是第一个字母到第二字母,a出现了两次。 3 3 表示的是第一个字母到第三个字母,a出现了3次。 第二组: 2 2表示的是第一个字母到第二个字母,a出现了两次。 6 2表示的是第一个字母到第六个字母,aab出现了两次。 9原创 2015-10-12 14:19:20 · 282 阅读 · 0 评论 -
hdu 3746 Cyclic Nacklace
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 题目大意:补充珠子数使其成为手链,手链的规格是:比如这一组数据:abca,要想成为手链,必须满足abcabc,还要加两个,所以输出2。 1 #include 2 #include 3 #include 4 using namespace std; 5 char s原创 2015-10-12 14:19:22 · 277 阅读 · 0 评论 -
hdu 1711 Number Sequence
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目大意:在母链中找到子链的位置,输出开始的位置。 1 #include 2 #include 3 using namespace std; 4 int lens,lenc,next[1000005],str[1000005],ch[1000005]; 5 6原创 2015-10-12 14:19:32 · 227 阅读 · 0 评论 -
hdu 5763 Another Meaning(2016 Multi-University Training Contest 4——dp+kmp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5763 Another Meaning Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 802 Accepted原创 2016-07-29 19:16:08 · 1023 阅读 · 0 评论