![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
KMP
文章平均质量分 75
詹明捷
此博客停止更新,迁移至www.zhanmingjie.com
展开
-
LightOJ 1258 Making Huge Palindromes (回文&KMP)
http://lightoj.com/volume_showproblem.php?problem=1258 A string is said to be a palindrome if it remains same when read backwards. So, 'abba', 'madam' both are palindromes, but 'adam' is not. Now原创 2015-08-14 10:33:42 · 760 阅读 · 0 评论 -
判断s各个前缀是否是 ABABA…ABA的形式 KMP Codeforces 526D - Om Nom and Necklace
ZeptoLab Code Rush 2015 D. Om Nom and Necklace 【题意】 给出一个字符串s,判断其各个前缀是否是 ABABA…ABA的形式(A和B都可以为空,且A有Q+1个,B有Q个,Q给定)。 【官方题解】 对于前缀P,我们可以把它拆成P=SSSS…SSSST,其中T是S的前缀。显然可以用KMP算法,时间复杂度是O(原创 2015-10-22 20:43:13 · 1173 阅读 · 0 评论 -
符串的最小循环节 kmp Cyclic Nacklace
思路:kmp+字符串的最小循环节问题 分析: 1 题目要求的是给定一个字符串,问我们还需要添加几个字符可以构成一个由n个循环节组成的字符串。 2 可知我们应该先求出字符串的最小循环节的长度:假设字符串的长度为len,那么最小的循环节就是cir = len-next[len] ; 如果有len%cir == 0,那么这个字符串就是已经是完美的字符串,不用添加任何字符;如果不是完美的那么需要原创 2015-09-23 16:54:26 · 1035 阅读 · 0 评论 -
不重叠模式串个数 KMP hdu 2087 剪花布条
点击打开链接hdu2087 思路:kmp 分析: 1 题目要求的是给定一个文本串和给定一个模式串,求文本串中有几个模式串。 2 注意文本串为"aaaaaa",模式串"aa"的时候,ans = 3 而不是5。 代码: #include #include #include #include using namespace std; #define MAXN原创 2015-09-23 17:30:53 · 655 阅读 · 0 评论 -
所有既是前缀又是后缀的子串 KMP POJ 2752 Seek the Name, Seek the Fame
http://poj.org/problem?id=2752 大致题意: 给出一个字符串str,求出str中存在多少子串,使得这些子串既是str的前缀,又是str的后缀。从小到大依次输出这些子串的长度。 大致思路: 如左图,假设黑色线来代表字符串str,其长度是len,红色线的长度代表next[len],根据next数组定义易得前缀的next[len]原创 2015-09-23 22:32:41 · 1020 阅读 · 0 评论 -
军训选队伍 相对顺序匹配 kmp hdu 4749 Parade Show
hdu 4749 Parade Show ( kmp ) 题意:给出两个数列(可以看成串),问最多能在串1中找出几个不重叠的substring,使得这些substring的元素的相对大小关系与串2相同(显然,长度也要与串2相同)。 解题思路:kmp。。比赛的时候有想到这个思路,但一直不知道怎么搞定这个相对大小关系。其实很简单。。 count(AiAn+1)=count(BiBn+原创 2015-09-23 15:38:54 · 657 阅读 · 0 评论 -
kmp next函数 kmp的周期问题,深入了解kmp中next的原理
----------------------- ----------------------- k m x j i 由上,next【i】=j,两段红色的字符串相等(两个字符串完全相等),s[k....j]==s[m....i] 设s[x...j]=s[j....i](xj=ji) 则可得,以下简写字符串表达方式 kj=kx+xj; mi=m原创 2015-09-23 16:32:21 · 595 阅读 · 0 评论