HDU 4763 kmp
来源:互联网 发布:flash软件百度云 编辑:程序博客网 时间:2024/06/08 11:09
给一个字符串,问最长的一个子串A,他是前缀,同时是后缀,并且中间也出现过A。并且出现的三个A都不没有重叠部分。
#include <bits/stdc++.h>using namespace std;const int maxn = 1e6+5;char p[maxn];int nex[maxn];void getNext (char p[]) { int m=strlen(p+1); nex[1]=0; for(int k=0,q=2;q<=m;q++) { while(k>0 && p[k+1]!=p[q]) k=nex[k]; if(p[k+1]==p[q]) k++; nex[q]=k; }}bool kmp (int l, int r, int len){ for (int q=l,k=0; q<=r;q++) { while (k> 0 && p[k+1] != p[q])k = nex[k]; if (p[k+1] == p[q]) k++; if (k == len) return true; } return false;}int main () { int cas; scanf("%d", &cas); while (cas--) { scanf("%s", p+1); int n = strlen(p+1); getNext(p); int len = nex[n]; while (len) { if (kmp(2, n-1, len)) break; len = nex[len]; } printf("%d\n", len); } return 0;}
阅读全文
0 0
- HDU 4763 拓展KMP
- HDU 4763 KMP算法...
- HDU 4763 (KMP)
- HDU 4763 KMP/EXKMP
- HDU 4763 kmp
- KMP-hdu-4763-Theme Section
- hdu 4763 Theme Section(KMP)
- hdu 4763 Theme Section kmp
- HDU 4763 Theme Section(KMP)
- hdu 4763 Theme Section(KMP)
- hdu 4763 Theme Section KMP
- hdu 4763 扩展的KMP
- HDU 4763 Theme Section(KMP)
- hdu 4763 Theme Section(KMP)
- HDU - 4763 Theme Section KMP
- Hdu 4763 Theme Section KMP
- hdu-4763 kmp next数组的应用
- hdu 4763 Theme Section (扩展kmp)
- uva 900
- 编程检验ASCII码值与字符对应关系
- 文件处理命令
- 系统安全命令
- 排序
- HDU 4763 kmp
- hibernate框架
- POJ2431 优先队列
- Pro1-开发环境搭建
- 音视频SDK开发包涉及的技术要求
- openc3读取caffe模型
- java中list<Object[]>、list<Student>、list<Map<String,String>>排序
- 金山云笔试,结构体函数
- 第三方类库-日志-SL4J简介-2