HDU - 1711:Number Sequence (KMP模板)
KMP模板:AC,858ms,13112KB内存 消耗太大了
#include<bits/stdc++.h>
using namespace std;
using namespace std;
#define ms(x, n) memset(x,n,sizeof(x));
typedef long long LL;
const int inf = 1 << 30;
const LL maxn = 1e6 + 10;
int s1[maxn], s2[maxn], n, m;
int nxt[maxn];
void getNext() {
int i = 1, j = 0;
while (i < m) {
if (j == 0 || s2[i] == s2[j]) {
++i, ++j;
if (s2[i] != s2[j]) nxt[i] = j;
else nxt[i] = nxt[j];
}
else j = nxt[j];
}
}
int kmp() {
getNext();
int i = 1, j = 1;
while (i <= n && j <= m) {
if (s1[i] == s2[j] || j == 0) ++i, ++j;
else j = nxt[j];
}
if (j > m) return i - m;
else return -1;
}
int main()
{
int T;
cin>>T;
while (T--) {
ms(s1, 0); ms(s2, 0); ms(nxt, 0);
cin>>n>>m;
for (int i = 1; i <= n; i++)
cin>>s1[i];
for (int j = 1; j <= m; j++)
cin>>s2[j];
printf("%d\n", kmp());
}
return 0;
}
HDU - 1711:Number Sequence (KMP模板)的更多相关文章
- HDU 1711 - Number Sequence - [KMP模板题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Time Limit: 10000/5000 MS (Java/Others) Memory L ...
- HDU 1711 Number Sequence(KMP裸题,板子题,有坑点)
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- hdu 1711 Number Sequence KMP 基础题
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 1711 Number Sequence (KMP 入门)
Number Sequence Problem Description Given two sequences of numbers : a[1], a[2], ...... , a[N], and ...
- HDU 1711 Number Sequence KMP
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1711 AC代码: #include <iostream> #include <cs ...
- HDU 1711 Number Sequence (字符串匹配,KMP算法)
HDU 1711 Number Sequence (字符串匹配,KMP算法) Description Given two sequences of numbers : a1, a2, ...... , ...
- HDU 1711 Number Sequence(数列)
HDU 1711 Number Sequence(数列) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- HDU 1711 Number Sequence(KMP)附带KMP的详解
题目代号:HDU 1711 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/ ...
- HDU 1711 Number Sequence 【KMP应用 求成功匹配子串的最小下标】
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/O ...
- HDU 1711 Number Sequence(KMP模板)
http://acm.hdu.edu.cn/showproblem.php?pid=1711 这道题就是一个KMP模板. #include<iostream> #include<cs ...
随机推荐
- 请查收,本周刷屏的两大热点「GitHub 热点速览」
如果你逛 HackerNews 或者是推特,你一定会被 multipleWindow3dScene 这个跨窗口渲染项目的成果刷屏,毕竟国内的技术平台上也出现了不少的模仿项目.另外一个热点,便是你在白板 ...
- Jenkins中HTML报告无法正常显示问题解决
自动化结果生成了HTML报告,但是在Jenkins中打开报告却显示空白,打开控制台,可以看到该报错 参考https://www.jenkins.io/doc/book/security/configu ...
- springMvc_快速入门
概念:是一种基于Java实现mvc模型的轻量级web框架 优点:使用简单,开发便捷 灵活性强 总体来说springMvc就是来替代servlet的一种工具 快速入门: 1.创建maven-web ...
- 使用Py2neo更新Neo4j中节点的属性值的正确姿势
1 def findNode(name, graph): 2 matcher = NodeMatcher(graph) 3 m = matcher.match(name = name).first() ...
- 使用pip或者手动安装第三方库出现“由于目标计算机积极拒绝,无法连接”错误的解决办法
网上找了很多地方,都没找到怎么解决,之前用pip安装成功过,但是翻过墙后,pip安装第三方库的时候发现错误,如图:
- 印能捷添加了加密进程导出的pdf文件不加密(rename的类型未添加)
解决方法:用procmon监控下图的所有文件事件,查找rename的类型,然后右键SetRenameInfo点击Include,将查出来的类型添加到加密后缀中,如下图是一个无后缀的类型需要添加\NOE ...
- 三维GIS渲染引擎盘点,以Cesium为核心的拓展优化
目前,以Cesium为核心的各类产品繁多,本文将挑选一些以Cesium为核心的软件案例,为大家进行介绍. 1. CesiumJS CesiumJS相信凡是GIS行业相关人员都特别熟悉了,CesiumJ ...
- JavaFx FXML入门(五)
JavaFx FXML入门(五) JavaFX 从入门入门到入土系列 JavaFx的FXML类似安卓中的视图文件,可以添加样式,添加css,添加id然后在java代码中绑定点击事件.可以使用工具编辑: ...
- 【scikit-learn基础】--『监督学习』之 随机森林分类
随机森林分类算法是一种基于集成学习(ensemble learning)的机器学习算法,它的基本原理是通过对多个决策树的预测结果进行平均或投票,以产生最终的分类结果. 随机森林算法可用于回归和分类问题 ...
- 文心一言 VS 讯飞星火 VS chatgpt (52)-- 算法导论6.2 4题
四.当i>A.heap-size/2 时,调用 MAX-HEAPIFY(A,i)会有什么结果? 文心一言: 当 i > A.heap-size/2 时,调用 MAX-HEAPIFY(A, ...