HDU 1711 Number Sequence(KMP模板)
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模板)相关推荐
- HDU 1711 Number Sequence(KMP算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/ ...
- HDU 1711 -Number Sequence(KMP)
题目 Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- hdu 1711 Number Sequence
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目大意:在母链中找到子链的位置,输出开始的位置. 1 #include <iostrea ...
- HDU 1711 Number Sequence(算法验证)
该怎么做.每一个人的人生都应该自己掌握.你给不了别人一切.你也不懂别人的忧伤. 微笑不代表快乐.哭泣不一定悲伤 不努力怎么让关心你的人幸福.不努力怎么让看不起你的人绝望. 我用生命在奋斗--lx_Zz ...
- HDU 1005 Number Sequence
[题目] Number Sequence Time Limit: 2000/1000 MS (Jav ...
- HDU.1005 Number Sequence
原题 HDU.1005 Number Sequence 分类 杂题 题意 给定一个数列{an}\left\{ a_n \right\}{an}的前两项a1a_1a1.a2a_2a2,以及其递推公 ...
- HDU - Number Sequence(KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Time Limit: 10000/5000 MS (Java/Others) Memory L ...
- 杭电 1711 Number Sequence 1686 2203
找一串字符中完全匹配的起始位置,利用KMP模版: 代码: View Code 1 #include<iostream> 2 using namespace std; 3 int p[100 ...
- Number Sequence (KMP的应用)
个人心得:朴素代码绝对超时,所以要用到KMP算法,特意了解了,还是比较抽象,要多体会 Given two sequences of numbers : a11, a22, ...... , aNN, ...
最新文章
- Django 布署6.5
- net localgroup 命令详解
- k8s traefik ingress tls
- java如何写外键关联_JAVA基础:Hibernate外键关联与HQL语法
- QT的QMessageBox类的使用
- 监控工具之zabbix server3.4 部署配置
- AppDomainManager后门的实现思路
- Spring Boot(20)---开发Web应用之JSP篇
- 用FileMapping跨进程共享数据
- ios 中文输入法 完成事件_让聊天更方便 百度输入法开启AI助聊功能
- linux扫描后门工具,Linux下rootkit后门检测工具chkrootkit安装使用教程
- QAC静态代码测试工具试用介绍_c/c++
- Linux shell下的颜色含义
- linux下ftp客户端主动模式设置
- SUCCEEDED 和 FAILED的作用和用法
- 2020年回顾,这一年,不容易
- 0x00000004 因果推理 —— 入门学习笔记
- cocos2d-x 全面总结--字体描边和制作阴影
- 什么叫最少拍计算机控制系统,最少拍无波纹计算机控制系统的一种综合方法.doc...
- 生成自签名证书步骤(一)
热门文章
- 【牛客 - 210A】游戏(思维,脑洞)
- 机器学习笔记(十四):异常检测
- maya扇子动画_maya怎么制作一个万箭齐发的效果?
- java中js九个隐含对象_第九章 JSP标签——《跟我学Shiro》
- kubelet内存异常分析
- MachineLearning(7)-决策树基础+sklearn.DecisionTreeClassifier简单实践
- 《剑指Offer》60:n个骰子的点数
- C++primer第九章 顺序容器 9.4 vector对象是如何增长的
- Java多线程死锁例子
- 视频编解码,bbv 缓冲区的上溢和下溢