#include<stdio.h>

#define N 1000050

int text[N],t[N],next[N],n,m;

void getnext() {

int j=0,k=-1;

next[0]=-1;

while(j<m) {

if(k==-1||t[j]==t[k]) {

j++;k++;

next[j]=k;

}

else

k=next[k];

}

}

void kmp() {

int i=0,j=0;

while(i<n&&j<m) {

if(j==-1||text[i]==t[j]) {

i++;j++;

}

else

j=next[j];

}

if(j==m)

printf("%d\n",i-j+1);

else

printf("-1\n");

}

int main() {

int te,i,j;

scanf("%d",&te);

while(te--){

scanf("%d%d",&n,&m);

for(i=0;i<n;i++)

scanf("%d",&text[i]);

for(i=0;i<m;i++)

scanf("%d",&t[i]);

getnext();

kmp();

}

return 0;

}

最新文章

  1. [LeetCode] Implement Queue using Stacks 用栈来实现队列
  2. POJ1860 Currency Exchange(bellman-ford)
  3. java中的hashSet和Treeset的分析
  4. Eclipse 中Tomcat 启动 与直接启动Tomcat的区别
  5. [Browsable(false)]
  6. java基础易错点总结(一)
  7. AFC项目开发文档整理
  8. 优先队列(和fence repair完全一样)
  9. hdu_5898_odd-even number(数位DP)
  10. lvs与nginx区别
  11. spring mvc注解版01
  12. jmeter(十九)HTTP属性管理器
  13. 学习Spring-Session+Redis实现session共享
  14. 关于mybatis map foreach遍历
  15. UVa 10201 Adventures in Moving - Part IV
  16. mysql设置索引
  17. JS相关知识点总结
  18. PCB直角走线的影响
  19. openssh-server
  20. mysql构建一张百万级别数据的表信息测试

热门文章

  1. 服务器php-cgi.exe进程过多,导致CPU占用100%的解决方法
  2. Spring-bean(零)
  3. 协程和I/O模型
  4. android java 知识点
  5. http与WebSocket
  6. CPLD
  7. Js学习文件上传
  8. Python学前基础知识
  9. 自制Jquery下拉框插件
  10. 自定义Jquery 下拉框