题意:给你两个字符串p和s,求出p在s中出现的次数。 我先想直接把p接到s前面,之后求Next数组对strlen(p)取余==0的就可以,之后WA。最后发现A AASSAAS的时候有bug,只有又想到在p和s中间加个不可能出现的字符'$'就可以了,戒指就A了。 ...
分类:
其他好文 时间:
2016-07-21 14:38:05
阅读次数:
209
kmp算法的定义可以从网上查找。我个人的理解是要从模式串中寻找出和模式串开头字母相同的字母个数,构建一个next数组用于匹配原串失败时判断模式串回溯的位置。 注意点:匹配成功后模式串的迭代因子j应该如何变化?是从0开始还是取最后一个字母的前缀后缀值(考虑到AAA/AAAAAA这样的模式串/原串)。我 ...
分类:
编程语言 时间:
2016-07-11 18:59:19
阅读次数:
153
感觉写的很好,尤其是底下的公式,易懂,链接:http://www.cnblogs.com/mypride/p/4950245.html 举个例子 模式串S:a s d a s d a s d f a s d 匹配串T:a s d a s d f 如果使用朴素匹配算法—— 1 2 3 4 5 6 7 ...
分类:
编程语言 时间:
2016-07-11 13:59:20
阅读次数:
230
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1622 给出多个文本串和模式串,求每个文本串中有多少模式串. 分析 直接暴力... 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 co ...
分类:
其他好文 时间:
2016-06-23 22:07:33
阅读次数:
163
一、问题 给定两个字符串S和T,找出T在S中出现的位置。 二、朴素算法 当S[i] != T[j]时,把T往后移一位,回溯S的位置并重新开始比较。 (1) 成功匹配的部分(ABC)中,没有一样的字符 (2) 成功匹配的部分(ABA)中,有一样的部分(A) 三、KMP算法 通过整理模式串T中的元素相似 ...
分类:
编程语言 时间:
2016-06-20 12:41:51
阅读次数:
208
在很长一段时间,求文本与单模式串匹配,我只用KMP。后来我在CF上看到Z算法,用的人也不少。在学习之后,我感觉Z算法也是很精妙的。在以前的博文中也有过用Z算法来解决字符串匹配的题目。 下面介绍一下Z算法。 先一句话讲清楚Z算法能求什么东西。 输入为一个字符串s,Z算法可以求出这个字符串每一个后缀与自 ...
分类:
编程语言 时间:
2016-06-15 01:41:20
阅读次数:
204
博客源址:http://www.jimye.com/dian-xing-zi-fu-chuang-pi-pei-suan-fa-shi-xian/
相信大家对快捷键ctrl+F是做什么用的都应该很熟悉了,无论是文本编辑、网页浏览等程序上它都意味着字符串搜索,我们提供一个关键字,它将找到当前页面上的所有该关键字所在的位置。关键字称为模式串,在文本T中寻找模式串P出现的所有出现的位置,解...
分类:
编程语言 时间:
2016-06-12 02:07:36
阅读次数:
275
题意:给定n个不能出现的模式串,给定一个长度m,要求长度为m的合法串有多少种。 思路:用AC自动机,利用AC自动机上的节点做矩阵乘法。 ...
分类:
其他好文 时间:
2016-06-02 08:32:16
阅读次数:
195
题意:找出模式串出现的种类是什么以及它们的次数 思路:拿一个数组存end的出现次数。 ...
分类:
其他好文 时间:
2016-06-02 08:30:15
阅读次数:
177
题意:就是求目标串中出现了几个模式串。 思路:用int型的end数组记录出现,AC自动机即可。 ...
分类:
其他好文 时间:
2016-06-02 08:29:26
阅读次数:
184