【HDU 1711】Number Sequence(裸KMP算法)
题目链接
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1711
题意
裸KMP算法
时间复杂度
O(m+n)
代码如下(G++)
#include <iostream>
#include "string.h"
using namespace std;int a[1000010];
int b[10010];
int next0[10010];int T,N,M;
void get_next(){int i = 0;int j = -1;next0[0] = -1;while(i < M){if(j == -1||b[i] == b[j]){i++;j++; next0[i] = j;}else{j = next0[j];}
// cout << i << " " << j << endl;}
}int KMP(){int i = 0;int j = 0;while(i < N && j < M){if(j == -1 or a[i] == b[j])++i,++j;elsej = next0[j];}if(M == j) return i-j;else return -2;
}int main() {ios::sync_with_stdio(false);cin >> T;while(T--){cin >> N >> M;for(int i = 0;i < N; ++i) cin >> a[i];for(int j = 0;j < M; ++j) cin >> b[j];get_next();cout << KMP()+1 << endl;}return 0;
}
【HDU 1711】Number Sequence(裸KMP算法)相关推荐
- HDU 1711 Number Sequence(KMP模板)
http://acm.hdu.edu.cn/showproblem.php?pid=1711 这道题就是一个KMP模板. 1 #include<iostream> 2 #include&l ...
- 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(算法验证)
该怎么做.每一个人的人生都应该自己掌握.你给不了别人一切.你也不懂别人的忧伤. 微笑不代表快乐.哭泣不一定悲伤 不努力怎么让关心你的人幸福.不努力怎么让看不起你的人绝望. 我用生命在奋斗--lx_Zz ...
- hdu 1711 Number Sequence
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目大意:在母链中找到子链的位置,输出开始的位置. 1 #include <iostrea ...
- 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,以及其递推公 ...
- 杭电 1711 Number Sequence 1686 2203
找一串字符中完全匹配的起始位置,利用KMP模版: 代码: View Code 1 #include<iostream> 2 using namespace std; 3 int p[100 ...
- HDU - 1005 Number Sequence(循环群)
题目链接:点击查看 题目大意:给出递推公式以及模,求第n项 题目分析:这种裸的公式题,如果直接模拟实现,肯定不是超时就是爆内存,我们通过观察可以发现,无论a与b取何值,f[i]与f[i-1] 的关系始 ...
最新文章
- nginx用户权限问题
- spring mvc 与 jasper Report集成
- 基于 Kyma 的企业级云原生应用的扩展案例分享
- RxJava 设计理念 观察者模式 Observable lambdas MD
- es6 --- 用promise对象实现Ajax操作的一个实例
- 太赞了!阿里巴巴AI每天服务全球10亿人
- ExtAspNet公司项目截图
- dwz框架在网站群项目中的应用(2)—html拓展之页面形式
- SQL注入漏洞解决心得
- 20行Python代码爬取王者荣耀全英雄皮肤
- 面试官如何对应聘者的素质与能力做出相对准确的判断
- pip install XXX总是报错,例如:Exception: Traceback (most recent call last):这种错误怎么办?
- oracle sys_lob$$清理,清理 oracle lobsegment
- android神器,android神器:tasker
- Oracle 10.2.0.3使用Logminor工具和把system表空间变成locally
- python关闭文件os_python_文件的打开和关闭
- 手机3D的新境界:Omnia II 是3D方面的力作!!
- 国际清算银行称:央行数字货币可能导致银行挤兑
- 21辐轮王土拨鼠4-15岁全世界十大进口儿童自行车品牌排行榜
- ARM最强CPU/GPU来了!A75、G72首发:性能爆炸
热门文章
- python中的idle在哪里_python idle 的打开方式
- C语言学习之求两个整数的最大值
- AM8不能下任何载附件及所有聊天记录无法登记
- 机器学习003-Kernel
- 06004_Redis的启动、使用和停止
- 天津鑫茂工业园区--------------三维虚拟现实系统
- 技术贴:asp.net实现唯一账户在线 禁止同一帐号同时在线 asp.net实现您的帐号在别处登录,您已被迫下线!...
- webpack-dev-server 不是内部或外部命令,也不是可运行的程序 解决方案
- [Python从零到壹] 八.数据库之MySQL和Sqlite基础知识及操作万字详解
- MFC 列表控件CListCtrl加载类似QQ界面的头像与文字