Passward (kmp)
来源:互联网 发布:淘宝的隐藏优惠券插件 编辑:程序博客网 时间:2024/06/03 19:53
Passward
9.11
思路:
kmp跑一边,从最后向前跳next,标记一下中间的串就行啦。
#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#include <cstring>using namespace std;const int N = 100010;char s[N];int lens, nxt[N];bool flag[N];void calcnext() { int i = 0, j = -1; nxt[0] = -1;// while(i < lens) { if(j == -1 || s[i] == s[j]) { i++, j++; nxt[i] = j; } else j = nxt[j]; }}int main(){ freopen ("passward.in", "r", stdin); freopen ("passward.out", "w", stdout); scanf("%s", s); lens = strlen(s); calcnext(); for(register int i=1; i<lens; i++) flag[nxt[i]] = true;//只有前缀和后缀的子串不会被标记 register int i; for( i=nxt[lens]; i; i=nxt[i])//lens if( flag[i] ) break;//越早break,串越长 if( !i ) printf("Just a legend"); else for(register int j=0; j<i; j++) putchar( s[j] ); return 0;}
阅读全文
0 0
- Passward (kmp)
- Passward
- 字符串 Passward
- poj3461 (KMP&&扩展KMP)
- hihocoder-1015 KMP算法(KMP)
- hihoCoder 1015 KMP算法(kmp)
- (LA3026) Period -- KMP again (KMP 模板)
- KMP(1)--hdu2203(简单KMP模板)
- KMP算法(1):如何理解KMP
- poj3461 (裸kmp)kmp模板
- KMP 算法(1):如何理解 KMP
- KMP 算法(1):如何理解 KMP
- HDU4333 Revolving Digits(KMP+扩展KMP)
- HDU4763 Theme Section(KMP+扩展KMP)
- KMP 算法(1):如何理解 KMP
- hdu6153-A Secret (kmp/扩展kmp)
- KMP 算法(1):如何理解 KMP
- kmp算法(转载)
- JavaScript中事件
- ###让一个类作为Servlet在TomCat启动时执行
- ecshop中引入百度分享代码之后,解决每张图片都自带分享
- HTMl5的sessionStorage和localStorage
- 2017 icpc 沈阳赛区 1005.number number number(矩阵快速幂)
- Passward (kmp)
- java 死锁产生原因及解锁
- IOS逆向--Tweak和app交互方案【进程通信】
- 程序设计里迭代和循环有什么区别
- Thymeleaf教程 (七) 条件表达式用法
- JDBC
- 测试流程
- Lucene学习总结之一:全文检索的基本原理
- 关于springMvc文件上传