
KMP
文章平均质量分 55
Tdyh_NY
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 3746
题意 可以对字符串开头和结尾添加字符,使该字符串至少有两个循环节,求最少添加的字符数量 岁的法国 思路 首先求循环节的过程可以使用kmp算法中next[len]来解决 因为next[len]中的值为最长公共前后缀 所以 len - next[len]的值就是len - 最长的公共连续部分,也就是最小循环节的长度。所以我们可以通过 len % (len原创 2018-01-24 11:21:30 · 219 阅读 · 0 评论 -
HDU 1358(KMP思想求周期)
题意 给定一个长度为1e6的字符串 求出这个串中所有有循环节并且周期大于等于二的串 并且输出这些串的起点和周期 思路 既然是求周期问题 可以利用KMP算法中next数组来求解 由于len-next[len]就是当前点的最小循环节 所以 可以用取余的方式来判断是不是刚好形成周期串 自己在写这道题的原创 2018-01-25 11:12:08 · 336 阅读 · 0 评论 -
POJ 2406(KMP算法思想求周期+1)
题意 给你一个字符串 长度在1e6以内 求这个字符串的最大周期是多少 思路 用kmp算法中的next数组来求周期再好不过了 len - next[len]可以求出最小循环节长度 在这个值为零或者长度不能整出这个值的时候就输出 1 这种情况也就是把这一整个串当成一个循环节 如果能整出原创 2018-01-25 12:36:52 · 319 阅读 · 0 评论 -
POJ-2752(KMP算法思想应用)
题意 给你一个字符串 长度4e5以内 然后从小到大(子串长度)输出即是前缀也是后缀的子串的长度 思路 KMP算法能够很好的解决公共前后缀问题 首先 每一个字符串本身一定是最长的符合条件的解 其次 我们可以用next数组中的值来递归的深入得出从大到小的值每一个字符串的最长公共前后缀一定是满足条件的最优解(除本身以外); 所原创 2018-01-26 08:26:44 · 518 阅读 · 0 评论