题目链接

https://hihocoder.com/contest/hiho3/problems

kmp算法

#include <bits/stdc++.h>
using namespace std;const int N = 1e6 + 10;
char s[N], t[N];
int nxt[N]; // ababaca
void getNext(int len)
{nxt[0] = -1;int k = -1;for(int i=1; i<len; i++) {while(k!=-1 && t[i]!=t[k+1])k = nxt[k];if(t[k+1] == t[i])k++;nxt[i] = k;}/*for(int i=0; i<len; i++){cout << nxt[i]<<" "; }*/
}
void kmp()
{int lt = strlen(t), ls = strlen(s);// nxt[i] 表示的是 i位可以退回的位置
    getNext(lt);int num = 0;int k = -1;for(int i=0; i<ls; i++) {while(k!=-1 && t[k+1] != s[i])k = nxt[k];if(t[k+1] == s[i])k++;if(k == lt-1) {num++;k = nxt[k];}}printf("%d\n",num);
}int main()
{// freopen("in.txt", "r", stdin);int T; scanf("%d", &T);while(T--) {scanf("%s %s", t, s);kmp();}return 0;
}

转载于:https://www.cnblogs.com/Draymonder/p/9917048.html

hihoCoder week3 KMP算法相关推荐

  1. hihocoder #1015 : KMP算法

    hihocoder.com 上的KMP算法题,搞了半天在VS2012是能通过的,提交上去就是有问题,反复改终于通过了,记录在此,以下是测试通过代码. 输入 第一行一个整数N,表示测试数据组数. 接下来 ...

  2. hihocoder 1015 : KMP算法(kmp)

    传送门 Description 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进. 这一天,他们遇到了一只河蟹,于是河蟹就向小H ...

  3. hiho一下 第三周---KMP算法

    KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上 ...

  4. BF算法优化-------KMP算法

    百度百科:KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特-莫里斯-普拉特操作(简称KMP算法).KMP算法的核心是利用 ...

  5. 数据结构与算法(5)字符串(BF算法、KMP算法及KMP算法优化)

    目录 一.BF算法(暴力算法) 二.KMP算法 三.KMP算法优化 一.BF算法(暴力算法) 一个一个往后匹配,匹配失败继续从母串下一个和头(子串的头)往后继续匹配. 虽然简单,但是需要较多的时间复杂 ...

  6. hiho 1015 KMP算法 CF 625 B. War of the Corporations

    #1015 : KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在 ...

  7. HDU 1711 Number Sequence(KMP算法)

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

  8. 算法(2)KMP算法

    1.0 问题描述 实现KMP算法查找字符串. 2.0 问题分析 "KMP算法"是对字符串查找"简单算法"的优化. 字符串查找"简单算法"是源 ...

  9. KMP算法求回溯数组的步骤

    KMP算法到底是什么原理就不说了,各种资料上讲的明明白白,下面我就如何用代码来实现做一下说明和记录. KMP的核心思想就是,主串不回溯,只模式串回溯.而模式串匹配到第几位时失配,要回溯多少,由模式串本 ...

最新文章

  1. 【ACM】杭电OJ 1181
  2. java 函数内部类_java 内部类详解 转
  3. golang for循环 使用多个变量
  4. 大致了解写java聊天器所需要的技术
  5. 数字图像处理技术详解程序_安装地暖施工程序有哪些 安装地暖技术要求是什么【详解】...
  6. octave绘制图片Figure后无法关闭
  7. 404页面自动跳转javascript
  8. linux socket epoll
  9. Ubuntu 12.04下NFS安装配置图解
  10. 组策略下发URL地址时的问题
  11. 【OpenCV 例程200篇】201. 图像的颜色空间转换
  12. 清理C盘——这个操作让你的C盘多出20G空间
  13. 一周信创舆情观察(1.10~1.16)
  14. 小米手机 Toast显示带应用名称问题解决方法
  15. 萨达撒 这篇 Java 基础,我吹不动了
  16. 一个故事轻松记忆常见252个英语字根(31~80)
  17. osm 搭建离线地图_开源地图OSM
  18. gvim 缩写/简写 方法, 缩写 gvim的方法
  19. 浓浓新华情 温暖大家庭
  20. 京东首页html+css1.0

热门文章

  1. Linux 之alias 命令别名
  2. 如何评估互阻抗放大器(第 1 部分)
  3. 使用TaskManager爬取2万条代理IP实现自动投票功能
  4. CentOS下命令行和桌面模式的切换方法
  5. YUV视频格式到RGB32格式转换的速度优化 上篇(转)
  6. 关于Spring Boot你不得不知道的事
  7. 牛客网 2018年全国多校算法寒假训练营练习比赛(第三场)D.小牛vs小客-博弈
  8. windows平台搭建Mongo数据库复制集(类似集群)(三)
  9. 第一阶段站立会议08
  10. ZigBee 裸机 uart 配置