LibreOJ #103. 子串查找
二次联通门 : 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. 子串查找相关推荐
- libreoj #103. 子串查找
题目描述 这是一道模板题. 给定一个字符串 A AA 和一个字符串 B BB,求 B BB 在 A AA 中的出现次数. A AA 中不同位置出现的 B BB 可重叠. 输入格式 输入共两行,分别是字 ...
- 【swjtu】数据结构实验4_基于改进KMP算法的子串查找与替换
实验内容及要求: 从键盘输入主串s以及子串t1和t2.编写程序,将主串s中所有t1子串替换为t2子串,输出替换后得到的串以及t1被替换的次数.要求子串查找采用改进KMP算法. 实验目的:掌握KMP算法 ...
- python rfind函数用法_Python语法速查:字符串格式简单处理、子串查找与判断方法?...
这是一篇python基础知识分享型文章,对学习python感兴趣的朋友们可以仔细看看 字符串常用方法 Python3中,字符串全都用Unicode形式,所以省去了很多以前各种转换与声明的麻烦.字符串属 ...
- 关于python直接用列表名复制的一些问题 以及 python 子串查找
在加载模型中的tensor_name,用到了这部分知识,特此记录: 举个例子: import numpy as npvariables_to_restore = ['wc1','wc2','wc1/A ...
- 学习KMP (概念 + 模板 + 例题: 子串查找)
我又回来了,感jio这几天有点勤啊!! 这一次我带着KMP来了, 文章目录 KMP介绍 模板 例题: 子串查找 题目 暴力题解 KMP题解 代码实现 KMP介绍 KMP,即 Knuth-Morris- ...
- [转载] 五、字符串类的实现及子串查找算法
参考链接: C++ 查找和替换子字符串 一.字符串类的创建 问题提出:C语言不支持真正意义上的字符串 C语言使用字符数组("\0"结束)和一组函数实现字符串操作 C语言不支持自定义 ...
- KMP算法--子串查找问题
目录 一.前言 二.KMP算法简介 三.关键概念1:字符串的前后缀 四. 关键概念2:字符串相等前后缀与最长相等前后缀长度 五.关键概念3:Next数组 六.Next数组在算法中的应用: 七.模式串N ...
- 子串查找(字符串匹配)
子串查询 首先,我们来定义两个概念,主串和模式串.我们在字符串 A 中查找字符串 B,则 A 就是主串,B 就是模式串.我们把主串的长度记为 n,模式串长度记为 m.由于是在主串中查找模式串,因此,主 ...
- c语言字符串子串查找_字符串操作的全面总结
来自公众号:C语言与cpp编程 字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃.本文总结了一些构建string对象方法.修改string对象的方法.st ...
最新文章
- Java项目:干活管理系统(java+SSM+Jsp+Mysql)
- 我在阿里做中后台开发
- 皮一皮:这车是要开上天啊...
- [C语言] 文件操作,解压华为官方固件UNDATE.APP工具(源代码);
- 一个关于VOFM的文章
- ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
- zabbix监控SNMP
- c语言 冒泡排序算法
- android ogg 播放器,android如何让自己开发的播放器成为可供文件选择的播放器
- 非常不错的window磁盘清理工具C盘清理
- 二进制的加减乘除实现
- 01、3dB双分支定向耦合器
- ubuntu samba实现linux与windows之间的资源共享
- 渗透实战(周三):Ettercap·ARP毒化MITM中间人攻击
- 22.纯 CSS 创作出美丽的彩虹条纹文字
- 随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现
- linux 的常用命令---------第十阶段(虚拟机三种网络模式)
- 计算机二级新题word,计算机二级word试题最新.pdf
- 一个快速测试PlayCanvas Demo 的工程(内附源码)
- MarkDown编辑器中缩进