
字符串—KMP
sdjzping
这个作者很懒,什么都没留下…
展开
-
hust 1010 The Minimum Length (KMP 最短循环节)
1、http://acm.hust.edu.cn/problem.php?id=10102、题目大意:有一个字符串A,一次次的重写A,会得到一个新的字符串AAAAAAAA.....,现在将这个字符串从中切去一部分得到一个字符串B,例如有一个字符串A="abcdefg".,复制几次之后得到abcdefgabcdefgabcdefgabcdefg....,现在切去中间红色的部分,得到字符串B,原创 2013-04-23 20:24:38 · 2286 阅读 · 0 评论 -
poj 1961 Period (KMP 最短循环节)
1、http://poj.org/problem?id=19612、题目大意:给定一个长度为n的字符串s,求它的每个前缀的最短循环节。换句话说,对于每个i(21(如果K存在),使得S的前i个字符组成的前缀是某个字符串重复K次得到的。输出所有存在K的i和对应的K。比如对于字符串aabaabaabaab, 只有当i=2,6,9,12时K存在,且分别为2,2,3,43、只用KMP模板原创 2013-04-23 19:51:21 · 2035 阅读 · 0 评论 -
HDU 2594 Simpsons’ Hidden Talents(s1的前缀是s2的后缀)
1、http://acm.hdu.edu.cn/showproblem.php?pid=25942、题目大意:给定两个字符串s1,s2,求一个最长的子串,该字串是s1的前缀并且是s2的后缀开始用for循环做的超时,其实直接用KMP模板即可3、题目:Simpsons’ Hidden TalentsTime Limit: 2000/1000 MS (Java/Other原创 2013-05-03 19:13:51 · 1371 阅读 · 0 评论 -
poj 2541 Binary Witch (KMP+逆序转换+字符数组前端插入)
1、http://poj.org/problem?id=25412、题目大意:给定一个字符串,有N个字符,这N个字符只有0和1组成,表示N天的天气,0代表下雨,1代表晴天,现在要根据这N天的天气预测后边的连续L天的天气,规则是如果能找到一个下标K满足ak = aN-t+1, ak+1 = aN-t+2, ..., ak+t-1 = aN,那么ak+t就是第N+1天的天气,t原创 2013-04-27 10:28:02 · 1655 阅读 · 1 评论 -
hdu 3746 Cyclic Nacklace(KMP 最短循环节)
1、http://acm.hdu.edu.cn/showproblem.php?pid=37462、题目大意:给定一个字符串T, 在T后面添加x个字符串(让x最小),使得新字符串由前缀字串至少循环两次构成的。例如,abca, 只需要再添加2个字母bc, 形成abcabc,就变成了由abc循环两次构成的。对于长度为len的字符串,假设已经够造完了next数组,那么len原创 2013-04-24 21:24:37 · 807 阅读 · 0 评论 -
KMP 失配函数
//求子模板串的模式值f[n]的函数//f[i]表示以i为下标的字符前边有几个跟开头重复的字符void getFail(char *p, int *f){ int m=strlen(p); f[0]=f[1]=0; for(int i=1; i { int j=f[i]; while(j && p[i]!=p[原创 2013-04-24 21:20:05 · 3827 阅读 · 0 评论 -
poj 2752 Seek the Name, Seek the Fame(KMP 失配函数用法)
1、http://poj.org/problem?id=27522、题目大意:给定多组样例,每组样例有一个字符串,求这个字符串的前缀字符串,并输出位置,并且这些前缀字符串同时也是后缀字符串,3、用KMP失配函数,求出每一个模式值,递归输出即可4、题目:Seek the Name, Seek the FameTime Limit: 2000MS原创 2013-04-24 21:16:01 · 821 阅读 · 0 评论 -
poj 3080 Blue Jeans(KMP+字典序输出)
1、http://poj.org/problem?id=30802、题目大意:给定多组样例,每组样例有n个长度为60的字符串,求这n个字符串中长度最长的公共子串,如果有多个这样的子串,按照字典序输出3、用KMP算法解决思路:从第一个主串开始查找其中的每一个子串是不是在其他子串中可以找到,如果能找到,看长度大小,如果跟最大的相同,则找字典序小的那个,4.题目:Blue原创 2013-04-23 10:57:23 · 1141 阅读 · 0 评论 -
KMP 模板
KMP 模板//求子模板串的模式值f[n]的函数//f[i]表示以i为下标的字符前边有几个跟开头重复的字符void getFail(char *p, int *f){ int m=strlen(p); f[0]=f[1]=0; for(int i=1; i { int j=f[i]; while(j &&原创 2013-04-23 10:58:04 · 866 阅读 · 1 评论 -
hdu 1686 Oulipo(简单KMP)只不过比赛的时候用了string.一直超时,改成char就一遍AC,纠结。。。
1、http://acm.hdu.edu.cn/showproblem.php?pid=16862、题目大意:这道题目太纠结了,就是一道直接用KMP模板的题目,比赛的时候居然第一次想成做for循环次的KMP,超时了,后来知道只能用一次KMP了,结果用的string 一直超时,后来改成char居然一遍AC,还得好好熟悉算法题目是给出两个字符串a,b,求a在b中出现多少次3、题目:原创 2014-03-10 16:05:05 · 1223 阅读 · 1 评论