hdu 1711 Number Sequence
来源:互联网 发布:网络银行办理 编辑:程序博客网 时间:2024/05/16 00:59
kmp模板题。主要明确next数组的意义。 假设next[i]=x,则代表i之前的x个元素和从开头开始x个元素相等!
其实就是构造一个失配坐标组! 一旦匹配失败,进行合理的跳转来减少重复计算量。
#include"cstdio"#include"cstring"#include"cmath"#include"cstdlib"#include"iostream"#include"algorithm"#include"queue"using namespace std;int n,m;int a[1000002],b[10002];int next[12345];void getnext(int *t){ int i,j; i=0;j=-1; next[0]=-1; while(i<m) { if(j==-1||t[i]==t[j]) next[++i]=++j; else j=next[j]; }}int kmp(int *s,int *t){ int i,j; i=j=0; getnext(t); while(i<n&&j<m) { if(j==-1||s[i]==t[j]) { i++;j++; } else j=next[j]; if(j==m) { return i-m+1; } } return -1;}int main(){ int t; cin>>t; while(t--) { int i; cin>>n>>m; for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<m;i++) scanf("%d",&b[i]); printf("%d\n",kmp(a,b)); }}
0 0
- hdu 1711 Number Sequence
- hdu 1711 Number Sequence
- hdu 1711 Number Sequence
- Hdu-1711 Number Sequence
- hdu 1711 Number Sequence
- HDU 1711 Number Sequence
- HDU 1711 Number Sequence
- hdu 1711 Number Sequence
- HDU-1711-Number Sequence
- hdu 1711 Number Sequence
- Hdu 1711 - Number Sequence
- hdu 1711 Number Sequence
- HDU 1711 Number Sequence
- HDU 1711 Number Sequence
- HDU-Number Sequence -1711
- hdu 1711 number sequence
- HDU 1711 Number Sequence
- Number Sequence hdu 1711
- Wpf GridView Head隐藏
- windows驱动学习_Second
- Linux的查看文件大小和磁盘大小
- 黑马程序员_Java基础_网络编程_客户端服务端数据传输,交互,客户端请求服务原理,自定义浏览器,URL统一资源定位符
- 睡眠--TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE
- hdu 1711 Number Sequence
- 虚拟机如何上网
- stl单向队列 简单使用
- I2C总线驱动程序的实现
- badboy + jmeter并发性能测试
- 【转】最佳的程序日志
- C# 加密二进制与加密字符串的代码
- 关于TI DSP的EDMA
- 读取文件夹下指定类型的文件(windows)