二次联通门 : LibreOJ #103. 子串查找

/*LibreOJ #103. 子串查找kmp*/
#include <cstdlib>
#include <cstring>
#include <cstdio>#define Max 1000900int next[Max];void Get_Next (char *line)
{next[0] = -1;for (register int pos_1 = 0, pos_2 = -1, Len = strlen (line); pos_1 < Len; )if (pos_2 == -1 || line[pos_1] == line[pos_2]){pos_1 ++;pos_2 ++;next[pos_1] = pos_2;}elsepos_2 = next[pos_2];}int Answer;void Kmp (char *line, char *__txt)
{int Len_txt = strlen (__txt);int Len_ = strlen (line);if (Len_txt < Len_){puts (0);exit (0);}for (register int pos_1 = 0, pos_2 = 0; pos_2 < Len_txt && pos_1 < Len_; ){if (pos_1 == -1 || line[pos_1] == __txt[pos_2]){pos_1 ++;pos_2 ++;}elsepos_1 = next[pos_1];if (pos_1 == Len_){Answer ++;pos_1 = next[pos_1];}}
}char line[Max];
char __txt[Max];int main (int argc, char *argv[])
{scanf ("%s", __txt);scanf ("%s", line);Get_Next (line);Kmp (line, __txt);printf ("%d", Answer);return 0;
}

转载于:https://www.cnblogs.com/ZlycerQan/p/7076732.html

LibreOJ #103. 子串查找相关推荐

  1. libreoj #103. 子串查找

    题目描述 这是一道模板题. 给定一个字符串 A AA 和一个字符串 B BB,求 B BB 在 A AA 中的出现次数. A AA 中不同位置出现的 B BB 可重叠. 输入格式 输入共两行,分别是字 ...

  2. 【swjtu】数据结构实验4_基于改进KMP算法的子串查找与替换

    实验内容及要求: 从键盘输入主串s以及子串t1和t2.编写程序,将主串s中所有t1子串替换为t2子串,输出替换后得到的串以及t1被替换的次数.要求子串查找采用改进KMP算法. 实验目的:掌握KMP算法 ...

  3. python rfind函数用法_Python语法速查:字符串格式简单处理、子串查找与判断方法?...

    这是一篇python基础知识分享型文章,对学习python感兴趣的朋友们可以仔细看看 字符串常用方法 Python3中,字符串全都用Unicode形式,所以省去了很多以前各种转换与声明的麻烦.字符串属 ...

  4. 关于python直接用列表名复制的一些问题 以及 python 子串查找

    在加载模型中的tensor_name,用到了这部分知识,特此记录: 举个例子: import numpy as npvariables_to_restore = ['wc1','wc2','wc1/A ...

  5. 学习KMP (概念 + 模板 + 例题: 子串查找)

    我又回来了,感jio这几天有点勤啊!! 这一次我带着KMP来了, 文章目录 KMP介绍 模板 例题: 子串查找 题目 暴力题解 KMP题解 代码实现 KMP介绍 KMP,即 Knuth-Morris- ...

  6. [转载] 五、字符串类的实现及子串查找算法

    参考链接: C++ 查找和替换子字符串 一.字符串类的创建 问题提出:C语言不支持真正意义上的字符串 C语言使用字符数组("\0"结束)和一组函数实现字符串操作 C语言不支持自定义 ...

  7. KMP算法--子串查找问题

    目录 一.前言 二.KMP算法简介 三.关键概念1:字符串的前后缀 四. 关键概念2:字符串相等前后缀与最长相等前后缀长度 五.关键概念3:Next数组 六.Next数组在算法中的应用: 七.模式串N ...

  8. 子串查找(字符串匹配)

    子串查询 首先,我们来定义两个概念,主串和模式串.我们在字符串 A 中查找字符串 B,则 A 就是主串,B 就是模式串.我们把主串的长度记为 n,模式串长度记为 m.由于是在主串中查找模式串,因此,主 ...

  9. c语言字符串子串查找_字符串操作的全面总结

    来自公众号:C语言与cpp编程 字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃.本文总结了一些构建string对象方法.修改string对象的方法.st ...

最新文章

  1. Java项目:干活管理系统(java+SSM+Jsp+Mysql)
  2. 我在阿里做中后台开发
  3. 皮一皮:这车是要开上天啊...
  4. [C语言] 文件操作,解压华为官方固件UNDATE.APP工具(源代码);
  5. 一个关于VOFM的文章
  6. ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
  7. zabbix监控SNMP
  8. c语言 冒泡排序算法
  9. android ogg 播放器,android如何让自己开发的播放器成为可供文件选择的播放器
  10. 非常不错的window磁盘清理工具C盘清理
  11. 二进制的加减乘除实现
  12. 01、3dB双分支定向耦合器
  13. ubuntu samba实现linux与windows之间的资源共享
  14. 渗透实战(周三):Ettercap·ARP毒化MITM中间人攻击
  15. 22.纯 CSS 创作出美丽的彩虹条纹文字
  16. 随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现
  17. linux 的常用命令---------第十阶段(虚拟机三种网络模式)
  18. 计算机二级新题word,计算机二级word试题最新.pdf
  19. 一个快速测试PlayCanvas Demo 的工程(内附源码)
  20. MarkDown编辑器中缩进

热门文章

  1. Code Review 是苦涩但有意思的修行
  2. 阿里巴巴大规模应用Flink的踩坑经验:如何大幅降低 HDFS 压力?
  3. 阿里Java高考卷来了,你能得几分?
  4. 【11GR2 RAC】如何开启归档和FLASHBACK
  5. bzoj2597: [Wc2007]剪刀石头布
  6. 初赛问题求解及选择题数学相关整理
  7. python学习笔记 day20 序列化模块(二)
  8. C#如何释放已经加载的图片 (转)
  9. Oracle 的一些语句
  10. Pearson收购PowerSchool iPod播教育内容