HDU 1711
来源:互联网 发布:vb续行符 编辑:程序博客网 时间:2024/06/05 06:28
题意:给出两组数,第二组数是否在第一组数里面,一定连续、
思路:最基本的KMP、 自己写的时候wr了、 发现第二组数,按照题意里面给的数组大小过不去、 开大点就过了、
AC代码:
#include<cstdio>#include<Cstring>const int maxn=1000000;const int maxm=100000;int S[maxn];int T[maxn];int next[maxm];int t,n,m;void Init(){ for(int i=0;i<n;i++) scanf("%d",&S[i]); for(int i=0;i<m;i++) scanf("%d",&T[i]);}void get_next(){ memset(next,0,sizeof(next)); int i=0;int j=-1; next[0]=-1; while(i<m){ if(j==-1||T[i]==T[j]) next[++i]=++j; else j=next[j]; }}void KMP(){ int i=0;int j=0;int falg=0; while(i<n){ if(j==-1||S[i]==T[j]) i++,j++; else j=next[j]; if(j==m){ printf("%d\n",i-j+1); falg=1;break; } } if(!falg)printf("-1\n");}int main(){ scanf("%d",&t); while(t--){ scanf("%d %d",&n,&m); Init(); get_next(); KMP(); } return 0;}
0 0
- hdu 1711
- hdu 1711
- hdu 1711
- hdu 1711
- hdu 1711
- hdu 1711
- HDU 1711
- hdu 1711
- HDU 1711
- hdu-1711
- hdu 1711
- HDU 1711
- HDU 1711
- hdu 1711
- hdu 1711
- HDU 1711
- HDU-1711
- hdu 1711
- windows远程连接MAC 内网速度更快
- 剑指Offer系列---(3)赋值运算符函数
- mac开启ssh的方法
- 【Android】Fragment真正意义上的onResume和onPause
- hdoj题目分类
- HDU 1711
- VC中编写DLL的函数声明问题
- PHP常用基础算法(未完待续)
- uva12325(greedy)
- mac虚拟机工具VMware Tools Darwin
- 微信收货地址共享开发接口讲解
- APP上架被拒解决方案
- linux send与recv函数详解
- ChipScope使用总结