题目传送门

  学习博客

  学习了kmp算法,理解了算法思想,但还没有到能把这个思想用语言来描述出来。

#include<bits/stdc++.h>
#define clr(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
const int maxn=1000100;
int a[maxn],b[maxn],f[maxn];
int n,m;
void fail(){f[0]=-1;for(int j=1;j<m;j++){for(int i=f[j-1];;i=f[i]){if(b[j]==b[i+1]){f[j]=i+1;break;}else if(i==-1){f[j]=-1;break;}}}
}
int kmp(){fail();int i=0,j=0;while(i<n&&j<m){if(a[i]==b[j]){i++,j++;}else if(j==0){i++;}else{j=f[j-1]+1;}}
//    printf("i:%d  j:%d\n",i,j);return j==m?i-m+1:-1;
}
int main(){int T;cin>>T;while(T--){cin>>n>>m;for(int i=0;i<n;i++)scanf("%d",&a[i]);for(int j=0;j<m;j++)scanf("%d",&b[j]);printf("%d\n",kmp());}
}

转载于:https://www.cnblogs.com/mountaink/p/10495061.html

hdu1711 Number Sequence kmp模板相关推荐

  1. HDU 1711 Number Sequence(KMP算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/ ...

  2. HDU 1711 -Number Sequence(KMP)

    题目 Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  3. Number Sequence (KMP的应用)

    个人心得:朴素代码绝对超时,所以要用到KMP算法,特意了解了,还是比较抽象,要多体会 Given two sequences of numbers : a11, a22, ...... , aNN, ...

  4. HDU - Number Sequence(KMP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Time Limit: 10000/5000 MS (Java/Others) Memory L ...

  5. HDU_1711 Number Sequence(KMP)

    第一道kmp的题目,没想到纠结在上边这么多时间,也不知道哪错了,反正改着改着就对了... #include <iostream>#include <cstdio>using n ...

  6. HDU 1711 Number Sequence(KMP模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=1711 这道题就是一个KMP模板. 1 #include<iostream> 2 #include&l ...

  7. KMP 模板题 及next数组

    每天都在憧憬这些算法我都懂了的那一天...然鹅,KMP又看了一遍还是觉得稀里糊涂的.先放个模板题好了(:′⌒`) [hdu1711] Number Sequence Time Limit: 10000 ...

  8. POJ:3461-Oulipo(KMP模板题)

    原题传送:http://poj.org/problem?id=3461 Oulipo Time Limit: 1000MS Memory Limit: 65536K Description The F ...

  9. Oulipo(欧力波)(经典kmp模板题) HDU-1686

    题目:Oulipo(欧力波) 中文大意 The French author Georges Perec (1936�C1982) once wrote a book, La disparition, ...

  10. kuangbin专题16B(kmp模板)

    题目链接: https://vjudge.net/contest/70325#problem/B 题意: 输出模式串在主串中出现的次数 思路: kmp模板 在 kmp 函数中匹配成功计数加一, 再令 ...

最新文章

  1. 使用Python在Selenium WebDriver中获取WebElement的HTML源代码
  2. C#调用ArcGIS REST服务
  3. GPU(CUDA)学习日记(十三)------ CUDA内存简介
  4. eclipse自动补全失效解决办法
  5. client中周期性边界_「微评」增加艺术品在投资组合中的比例 推进国家艺术软实力...
  6. fiddler抓包工具配置详解
  7. AIOps智能化数据体系的构建及在字节跳动的实践
  8. 基于Rainbond开发Python云原生应用
  9. 怎样获取UIWebView 的文字的高度
  10. PHP设计模式——单例模式
  11. EDA技术实用教程 | 复习十三 | 计数器
  12. linux 程序发包,软件测试常用linux发包命令
  13. 作词家下岗系列:教你用 AI 做一个写歌词的软件!
  14. [转载]借助LVS+Keepalived实现负载均衡
  15. 客户管理系统(SSM版):bs_typeahead动态的自动补全文本框的内容
  16. (9)Android之路====Android系统OTA更新
  17. h5/web遮罩弹窗
  18. Python实现计算器四则运算小程序
  19. 代理的理解(动态代理与静态代理)
  20. 看书APP开发制作流程(成品案例)

热门文章

  1. java数据读取容量,spring batch使用reader读数据的内存容量问题详解
  2. 2021-06-27函数定义与参数
  3. python爬虫 同花顺_python 爬虫--同花顺-使用代理
  4. python3扫描_Python3实现TCP端口扫描器
  5. C++ vector和set的区别
  6. 软件学报 流程 期刊投稿记录 状态变更 时间
  7. 数据库 并发 悲观锁 乐观锁 是什么 区别
  8. 模板引擎thymeleaf和freemarker
  9. Mycat分库分表的简单实践 / 用Mycat,学会数据库读写分离、分表分库
  10. 一、JDK下载安装、eclipse下载安装(带资源)