kmp
文章平均质量分 79
johsnows
正在静下心来学算法的acmer
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 1961 Period(KMP)
题意:在一段字符串的所有前缀中,找出有循环节的那些前缀,并分别求这些前缀的最大循环节数量。解题思路:用一下公式 循环节数=(i+1)/(i+1-next[i])(当(i+1)%(i+1-next[i])==0时)即可代码:#include #include using namespace std;const int maxn=1e6+5;char str原创 2017-02-13 14:43:05 · 624 阅读 · 0 评论 -
codeforces 347 D Lucky Common Subsequence(dp+kmp)
题意:给出a,b,c三个字符串,问ab两个字符串最长不包含c的公共子序列。解题思路:基本的思想还是求最长共子序列的dp。但是需要扩展一维,第三维k表示dp[i][j]最长公共子序列的后缀和c的前缀匹配到的位置的下一个位置,每次a[i]==b[j]的时候, 我们去找一下a[i],加上a[i]的子序列和c匹配到的位置,这里利用下kmp就可以,从k开始跑。然后用一个结构体记录原创 2017-05-27 11:49:46 · 638 阅读 · 1 评论
分享