http://acm.hdu.edu.cn/showproblem.php?pid=1711

这道题就是一个KMP模板。

 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4
 5 const int maxn = 1000000+5;
 6
 7 int n,m;
 8
 9 int next[maxn];
10 int a[maxn], b[maxn];
11
12 void get_next()
13 {
14     int i = -1, j = 0;
15     ::next[0] = -1;
16     while (j < m)
17     {
18         if (i == -1 || b[i] == b[j])
19             ::next[++j] = ++i;
20         else
21             i = ::next[i];
22     }
23 }
24
25
26 int kmp()
27 {
28     int i = 0, j = 0;
29     while (i < n)
30     {
31         if (j == -1 || a[i] == b[j])
32         {
33             i++;
34             j++;
35         }
36         else
37             j = ::next[j];
38         if (j == m)
39             return i;
40     }
41     return -1;
42 }
43
44 int main()
45 {
46     //freopen("D:\\txt.txt", "r", stdin);
47     int t;
48     cin >> t;
49     while (t--)
50     {
51         cin >> n >> m;
52         for (int i = 0; i < n; i++)
53             cin >> a[i];
54         for (int i = 0; i < m; i++)
55             cin >> b[i];
56         get_next();
57         int k=kmp();
58         if (k!=-1)  cout << k-m+1 << endl;
59         else cout << "-1" << endl;
60     }
61     return 0;
62 }

转载于:https://www.cnblogs.com/zyb993963526/p/6358003.html

HDU 1711 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. hdu 1711 Number Sequence

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目大意:在母链中找到子链的位置,输出开始的位置. 1 #include <iostrea ...

  4. HDU 1711 Number Sequence(算法验证)

    该怎么做.每一个人的人生都应该自己掌握.你给不了别人一切.你也不懂别人的忧伤. 微笑不代表快乐.哭泣不一定悲伤 不努力怎么让关心你的人幸福.不努力怎么让看不起你的人绝望. 我用生命在奋斗--lx_Zz ...

  5. HDU 1005 Number Sequence

    [题目]                                                   Number Sequence Time Limit: 2000/1000 MS (Jav ...

  6. HDU.1005 Number Sequence

    原题 HDU.1005 Number Sequence 分类 杂题 题意 给定一个数列{an}\left\{ a_n \right\}{an​}的前两项a1a_1a1​.a2a_2a2​,以及其递推公 ...

  7. HDU - Number Sequence(KMP)

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

  8. 杭电 1711 Number Sequence 1686 2203

    找一串字符中完全匹配的起始位置,利用KMP模版: 代码: View Code 1 #include<iostream> 2 using namespace std; 3 int p[100 ...

  9. Number Sequence (KMP的应用)

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

最新文章

  1. Django 布署6.5
  2. net localgroup 命令详解
  3. k8s traefik ingress tls
  4. java如何写外键关联_JAVA基础:Hibernate外键关联与HQL语法
  5. QT的QMessageBox类的使用
  6. 监控工具之zabbix server3.4 部署配置
  7. AppDomainManager后门的实现思路
  8. Spring Boot(20)---开发Web应用之JSP篇
  9. 用FileMapping跨进程共享数据
  10. ios 中文输入法 完成事件_让聊天更方便 百度输入法开启AI助聊功能
  11. linux扫描后门工具,Linux下rootkit后门检测工具chkrootkit安装使用教程
  12. QAC静态代码测试工具试用介绍_c/c++
  13. Linux shell下的颜色含义
  14. linux下ftp客户端主动模式设置
  15. SUCCEEDED 和 FAILED的作用和用法
  16. 2020年回顾,这一年,不容易
  17. 0x00000004 因果推理 —— 入门学习笔记
  18. cocos2d-x 全面总结--字体描边和制作阴影
  19. 什么叫最少拍计算机控制系统,最少拍无波纹计算机控制系统的一种综合方法.doc...
  20. 生成自签名证书步骤(一)

热门文章

  1. 【牛客 - 210A】游戏(思维,脑洞)
  2. 机器学习笔记(十四):异常检测
  3. maya扇子动画_maya怎么制作一个万箭齐发的效果?
  4. java中js九个隐含对象_第九章 JSP标签——《跟我学Shiro》
  5. kubelet内存异常分析
  6. MachineLearning(7)-决策树基础+sklearn.DecisionTreeClassifier简单实践
  7. 《剑指Offer》60:n个骰子的点数
  8. C++primer第九章 顺序容器 9.4 vector对象是如何增长的
  9. Java多线程死锁例子
  10. 视频编解码,bbv 缓冲区的上溢和下溢