ACM_字符串
Ch_zaqdt
这个作者很懒,什么都没留下…
展开
-
POJ 2752 Seek the Name, Seek the Fame(KMP求公共前后缀)
题目链接:http://poj.org/problem?id=2752 题意是给了一个字符串,求出前i位的前缀刚好是后i位的后缀,输出这些位置,比如abcab当i为2的时候前缀为ab后缀也为ab 思路就是根据Next数组的性质,通过当前符合的公共前后缀的长度,去找到前缀的位置,然后依次往前找直到为0为止,可能这么说不太好理解,建议根据Next数组的值然后去...原创 2019-10-16 11:07:32 · 178 阅读 · 0 评论 -
AcWing 141. 周期 || HDU 1358 Period(KMP循环节)
AcWing题目链接:https://www.acwing.com/problem/content/description/143/ HDU题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1358 子串的最小循环节就是x-Next[x],x是这个子串的长度,那么这道题我们就对字符串求一个Next数组,然后for循环扫一下每个前缀...原创 2019-10-15 10:37:35 · 213 阅读 · 0 评论 -
HDU 3746 Cyclic Nacklace(KMP求循环节)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 题意是给了一个字符串,然后问最少在开头或者末尾加多少个字符可以使这个字符串至少有两个循环节 要知道的是对于一个字符串中它的最短的循环节长度为L=len-Next[len],如果len%L==0就说明这个字符串完全由循环节构成比如abcabcabc这样,然后这...原创 2019-10-14 12:31:02 · 169 阅读 · 0 评论 -
HDU 2087 剪花布条(裸KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 写法就是一个裸的KMP,只不过是每次再匹配了一次以后,让j=0(让其从第一个开始匹配) AC代码: #include <bits/stdc++.h> #define maxn 1005 #define ll long long using namespace std; ...原创 2019-10-14 10:52:52 · 134 阅读 · 0 评论 -
HDU 1686 Oulipo(KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1686 题意是输入一个模式串p,再输入一个文本串s,问p在s中出现了多少次。 KMP的裸题 AC代码: #include <bits/stdc++.h> #define maxn 1000005 #define ll long long using...原创 2019-10-09 10:32:49 · 146 阅读 · 0 评论 -
HDU 1711 Number Sequence(KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题意是输入两个数组,问能不能在文本数组s中找到模式数组p,输出最先的位置,如果找不到输出-1 思路就是kmp把字符串换成数组就好了,最后返回的是文本串中的位置减去模式串的长度,就是要求的最开始的位置。 AC代码: #include <bits/s...原创 2019-10-09 10:51:32 · 125 阅读 · 0 评论