hdu1711 KMP
来源:互联网 发布:c语言经典编程282例pdf 编辑:程序博客网 时间:2024/05/20 18:20
KMP最裸的题目。。。
注意输入的是数字,不是字符。
代码:
#include <iostream>#include <cstring>#include <cstdio>using namespace std;int s1[1000001];int s2[10001];int p[10001];int n,m;void getnext(){ int j=0; for (int i=2;i<=m;i++) { j=p[i-1]; while (j>0&&s2[j+1]!=s2[i]) j=p[j]; if (s2[j+1]==s2[i]) j=j+1; p[i]=j; }}int main(){ int r; scanf("%d",&r); while (r--) { p[0]=p[1]=0; scanf("%d%d",&n,&m); for (int i=1;i<=n;i++) scanf("%d",&s1[i]); for (int i=1;i<=m;i++) scanf("%d",&s2[i]); getnext(); int j=1,i; for (i=1;i<=n&&j<=m;i++,j++) { if (s1[i]==s2[j]) continue; j--; while (s1[i]!=s2[j+1]&&j>0) j=p[j]; if (s1[i]!=s2[j+1]) j--; j++; } if (j<m) printf("-1\n"); else printf("%d\n",i-j+1); }}
0 0
- kmp hdu1711
- hdu1711 kmp
- hdu1711(kmp)
- HDU1711-KMP
- hdu1711 KMP
- hdu1711 kmp
- HDU1711 KMP
- HDU1711 (KMP)
- hdu1711 KMP
- KMP-hdu1711
- hdu1711 KMP模板
- Number Sequence hdu1711 KMP
- hdu1711之入门KMP
- hdu1711 Number Sequence,KMP
- hdu1711 Number Sequence (KMP)
- HDU1711 模板题-KMP
- hdu1711 Number Sequence---KMP
- hdu1711 KMP模板
- 第四周作业-键盘输入数据 和 数据类型
- 可笑,竟然不知道javascript的出处。
- 设置远程调试
- Android开发 百度地图之传送一个详细地址获取在地图上的位置
- 一步步学习微软InfoPath2010和SP2010--第八章节--使用InfoPath表单Web部件(1)--Web部件设置
- hdu1711 KMP
- find: . changed during execution of find
- 解决Activity不能继承MapActivity
- 排序算法的总结
- windows下mysql忘记root密码的解决办法
- fedora下安装wireshark
- 盈一眸恬淡,在明媚的春天等你
- 其实用lazarus切图很简单
- 公众平台通用接口工具类