字符串 KMP HDU 2594
来源:互联网 发布:淘宝分享有赏红包在哪 编辑:程序博客网 时间:2024/05/16 17:16
#include <stdio.h>#include <string.h>#define min(a,b) ((a)<(b)?(a):(b)) /*clintonhomerriemannmarjorie题意: 前缀和后缀 的最长匹配 思路:KMP ,将前一个串和后一个串链接起来,求next[n]就是答案 */const int N = 50005;char a[N],b[N],c[2*N];int next[2*N];//注意 int lena,lenb,lenc;void getNext(){int j=-1;next[0]=-1;for(int i=1;i<lenc;i++){while(j>=0 && c[i]!=c[j+1])j=next[j];if(c[i]==c[j+1])j++;next[i]=j;}/*for(int i=0;i<lenc;i++)printf("%d ",next[i]);printf("\n");*/ }int main(){while(~scanf("%s%s",a,b)){lena=strlen(a);lenb=strlen(b);strcpy(c,a);strcpy(c+lena,b);lenc=strlen(c); getNext();int k=next[lenc-1]+1; //坑点: 串可能一直匹配下去 int ans=min(min(lena,lenb),k);if(ans==0)printf("0\n");else {for(int i=0;i<ans;i++)printf("%c",a[i]);printf(" %d\n",ans);} }return 0;}
0 0
- 字符串 KMP HDU 2594
- hdu 2594 java实现字符串KMP算法
- 字符串 KMP HDU 1711
- 字符串 KMP HDU 4749
- 字符串 KMP HDU 1686
- 字符串 KMP HDU 2087
- 字符串 KMP HDU 3746
- 字符串 KMP HDU 2203
- HDU 1686 Kmp(字符串匹配)
- hdu 1867 链接字符串+kmp
- HDU 2594 Simpsons’ Hidden Talents (字符串-KMP)
- HDU 2594 Simpsons’ Hidden Talents(字符串-KMP)
- HDU 2594(Simpsons’ Hidden Talents)字符串匹配-KMP
- 【HDU 2594 KMP】
- hdu 2594 kmp
- hdu kmp 2594
- HDU 2594 kmp
- HDU 2594 (KMP入门)
- AngularJS中ui-router全攻略
- 为什么要使用struts2框架
- ReentrantLock
- Java构造和解析Json数据的两种方法(json-lib构造和解析Json数据, org.json构造和解析Json数据)
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
- 字符串 KMP HDU 2594
- Qt按住鼠标窗体随之移动
- HDU 5768 Lucky7(中国剩余定理+容斥原理)
- python+Eclipse+pydev环境搭建
- 【数据结构】栈的实现
- 轻量级分布式 RPC 框架
- mysql性能优化经验
- 客户端TortoiseSVN的使用方法
- SHA 算法的使用