hdu2594 Simpsons’ Hidden Talents kmp next函数的运用
来源:互联网 发布:数据港千股千评 编辑:程序博客网 时间:2024/05/16 03:24
http://acm.hdu.edu.cn/showproblem.php?pid=2594
题意:给你两个数组,让你求以第一数组前缀 和第二个数组的后缀的最长公共部分。
其实就是对于next函数的使用,先把两个字符串合成一个,然后因为是公共部分,所以next【len】也应该小于第一个和第二个字符串最小长度。
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;char st[1000005],sa[50005];int next[1000005];void getnext(char *p){int i,j;i=0;j=-1;next[i]=-1;int len=strlen(p);while(i<len){if(j==-1||p[i]==p[j]){i++;j++;next[i]=j;}elsej=next[j];}}int main(){int n,i,j;int len,len1,len2;while(scanf("%s %s",&st,&sa)!=EOF){len1=strlen(st);len2=strlen(sa);strcat(st,sa);getnext(st);len=strlen(st);int ans=next[len];while(ans>len1||ans>len2){ans=next[ans];}if(ans!=0){for(i=0;i<ans;i++)printf("%c",st[i]);printf(" %d\n",ans);}elseprintf("%d\n",ans);}}
0 0
- hdu2594 Simpsons’ Hidden Talents kmp next函数的运用
- HDU2594 Simpsons’ Hidden Talents(kmp,next的性质)
- 【KMP】 hdu2594 Simpsons’ Hidden Talents
- hdu2594 Simpsons’ Hidden Talents kmp
- HDU2594 Simpsons’ Hidden Talents 【KMP】
- hdu2594 Simpsons’ Hidden Talents(KMP)
- HDU2594 Simpsons’ Hidden Talents【KMP】
- HDU2594 Simpsons’ Hidden Talents KMP
- HDU2594 Simpsons’ Hidden Talents KMP
- Simpsons' Hidden Talents hdu2594 kmp
- hdu2594 Simpsons’ Hidden Talents (kmp)
- 【hdu2594】Simpsons’ Hidden Talents——KMP
- HDU2594 Simpsons’ Hidden Talents(KMP)
- HDU2594:Simpsons’ Hidden Talents
- hdu2594-Simpsons’ Hidden Talents
- hdu2594 Simpsons’ Hidden Talents
- hdu2594 Simpsons’ Hidden Talents
- HDU2594 Simpsons’ Hidden Talents
- gdb调用正在运行的进程
- JAVA:深入引用
- android的m、mm、mmm编译命令的使用
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- 电子词典
- hdu2594 Simpsons’ Hidden Talents kmp next函数的运用
- 最短路算法之 Dijkstra算法
- 温习最短路1
- 绝对想不到 新iPhone预计将影响亚洲经济
- 3D数学基础图形与游戏开发之 坐标系
- tcp为什么要三次握手,而不能二次握手?
- SQL A表数据更新到B表
- poj 1860 Currency Exchange (SPFA、正权回路 bellman-ford)
- 用C/C++实现对STORM的运行信息查看和控制