字符串的模式匹配是一个比较经典的问题:假设有一个字符串S,称其为主串,然后还有一个字符串T,称其为子串。 现在要做的是,从主串S当中查找子串T的位置,如果存在返回位置值,如果不存在返回-1。另外主串又称为目标串, 子串称为模式串。 暴力匹配算法 这是一个经典的串匹配问题,涉及的算法也比较多,先讨论第 ...
分类:
编程语言 时间:
2017-09-03 23:59:35
阅读次数:
479
0901:学了学KMP以及TRIE树,不过KMP只是入门,明天要深入学习一下。。。1361、1362、1364、1365 1361:KMP的模板题,让每个文本串分别关于每个模式串做一遍KMP,然后求一下权值和就行了。 1362:最小循环节问题,因为题目保证了串是循环的,所以做一遍KMP然后直接输出n ...
分类:
其他好文 时间:
2017-09-01 23:02:09
阅读次数:
204
洛谷P2031 脑力达人之分割字串 f[ i ] 表示前 i 个字符最多能分割成几份 从第 i 位 枚举 模式串 枚举他们是否能够匹配 能就取 max ...
分类:
其他好文 时间:
2017-08-31 14:24:46
阅读次数:
113
http://acm.hdu.edu.cn/showproblem.php?pid=2243 题意: 给出m个模式串,求长度不超过n的且至少包含一个模式串的字符串个数。 思路: 如果做过poj2778的话,那么这题相对来说就会容易一些。 如果直接去计算的话,情况很复杂,和poj2778一样,我们先求 ...
分类:
其他好文 时间:
2017-08-27 12:50:04
阅读次数:
192
http://acm.hdu.edu.cn/showproblem.php?pid=3065 题意:求每个模式串出现的次数。 思路: 不难,把模板修改一下即可。 ...
分类:
其他好文 时间:
2017-08-26 19:50:59
阅读次数:
153
HDU6153:http://acm.hdu.edu.cn/showproblem.php?pid=6153 Orz 果然字符串很神奇……(神奇到人哭出来啊TAT)果然算法理解的不够透彻的话,是无法灵活运用的QAQ 其实只要简单的改一点点KMP的地方…… KMP的next[i]存储的是模式串下标0至 ...
分类:
其他好文 时间:
2017-08-26 17:03:01
阅读次数:
128
http://acm.hdu.edu.cn/showproblem.php?pid=2222 题意:给出多个单词,最后再给出一个模式串,求在该模式串中包含了多少个单词。 思路: AC自动机的模板题。 ...
分类:
其他好文 时间:
2017-08-26 16:02:03
阅读次数:
163
题意: 给定两个字符串 求一个串每个后缀在另一个串中出现的次数 思路: 把两个串都倒过来 给模式串做kmp在主串上跑一边就行了 ...
分类:
其他好文 时间:
2017-08-20 10:22:36
阅读次数:
177
扩展KMP算法 什么是扩展KMP? 扩展kmp是求模式串和主串的每个后缀的最长公共前缀长度。扩展KMP算法是利用前面的已知条件降低多余匹配,达到缩短时间的算法。 扩展KMP算法目的是得到next数组和extend数组。next[ i ] 表示的是从自己的第i位開始。模式串T与自己匹配的字符个数。ex ...
分类:
编程语言 时间:
2017-08-19 16:54:39
阅读次数:
165
一、相关介绍 知识要求 AC自动机 多模式串的字符匹配算法(KMP是单模式串的字符匹配算法) 单模式串问题&多模式串问题 单模就是给你一个模式串,问你这个模式串是否在主串中出现过,这个问题可以用kmp算法高效完成; 多模就是给你多个模式串,问你有多少个模式串在这个主串中出现过。 若我们暴力地用每一个 ...
分类:
其他好文 时间:
2017-08-13 16:20:42
阅读次数:
139