hdu 1711 Number Sequence(很简单的KMP)
来源:互联网 发布:数据安全管理指引 编辑:程序博客网 时间:2024/05/22 07:42
题目分析:
// KMP.cpp : Defines the entry point for the console application.//#include<iostream>#include<cstdio>using namespace std;int a[1001000],b[11000],next[11000];void GetNext(int m)//很巧妙!?为神马可以这样实现{next[1]=0;int j=1,k=0;while(j<m){if((k==0)||b[j]==b[k]){j++,k++;next[j]=k;}else{k=next[k];}}}int main(){int t;cin>>t;while(t--){ int n,m,i,j;scanf("%d %d",&n,&m);for(i=1;i<=n;i++)scanf("%d",&a[i]);for(i=1;i<=m;i++)scanf("%d",&b[i]);GetNext(m);int index,temp,flag=0,ans=-1;i=1,j=1;while(n-i+1>=m-j+1)//WA了一次:n-i+1>=m{ if(a[i]==b[j]) { while(a[i]==b[j]&&j<=m)// i++,j++; if(j==m+1) { //cout<<i<<"***"<<j<<endl; ans=(i-1)-m+1; flag=1; break; } } else { j=next[j]; if(j==0) i++,j++; }} printf("%d\n",ans);}//system("pause");return 0;}/*样例输入:213 51 2 1 2 3 1 2 3 1 3 2 1 21 2 3 1 313 51 2 1 2 3 1 2 3 1 3 2 1 21 2 3 2 16-1*/
- hdu 1711 Number Sequence(很简单的KMP)
- HDU:1711 Number Sequence(简单KMP)
- HDU 1711 Number Sequence(简单KMP)
- HDU 1711 Number Sequence //简单kmp
- HDU 1711 Number Sequence (简单KMP)
- HDU 1711:Number Sequence(KMP)
- HDU 1711 Number Sequence(KMP)
- HDU 1711 Number Sequence (KMP算法)
- HDU:1711 Number Sequence(KMP)
- hdu(Number Sequence 1711)kmp
- HDU - 1711 Number Sequence (KMP模板)
- hdu 1711 Number Sequence:(KMP)
- HDU-#1711 Number Sequence(KMP)
- hdu 1711 Number Sequence KMP(水)
- HDU 1711 Number Sequence(kmp)
- HDU-1711 Number Sequence(kmp入门)
- HDU 1711 Number Sequence(KMP)
- HDU 1711 Number Sequence (kmp 已被搞死。)
- 创业宝典:未来企业家之路(第5版)
- 金箍棒变长
- ora-600 4194错
- php-Arrays 函数-array_map-将回调函数作用到给定数组的单元上
- ajax 技术和原理分析
- hdu 1711 Number Sequence(很简单的KMP)
- vbox虚拟机未启动3D加速导致ubuntu12.04的launcher icon size 无法调整(同时dash图标变灰色)
- 【HTTP Cookie响应头】 Set-Cookie XXX= xxx(为空清除); domain= xxx; expires= xxx; path= xxx
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法
- VMware USB Arbitration Service无法启动,出现错误31:连接到系统上的设备没有发挥作用”
- 卓越领导者的智慧(精华版)
- iphone开发常用代码
- MTK6515 配置lcd背光
- hessian与spring集成,hessian3.2.0升级4.0.7注意事项