题目链接:点击打开链接
题目大意:给出n个字符串主串,和m个模式串,定义f(A,B)为B串在A串中出现的次数,现在对每一个A串都计算
∑f(Ai,Bj) (1
对m个模式串建立AC自动机,然后每个主串都放入自动机中,统计主串包含多少B内的串,并输出。
注意:
标记的时候直接累加值,可能会有多个模式串相同。
统计的时候,使用fail一直要回到根。
#include
#include...
分类:
其他好文 时间:
2015-08-13 22:19:08
阅读次数:
132
AC自动机裸题,真的很裸……先把前面的 n 个待匹配串存起来,再把后面 m 个模式串构造 AC自动机,然后再一个个询问待匹配串就没了…… 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxm=600006; ...
分类:
其他好文 时间:
2015-08-13 21:48:34
阅读次数:
155
原理: 将模式串与匹配串都转成unicode编码,再用正则。 可以用python完成,或者是用c++boost方案一,解析程序C版本,中间调用python函数,python函数中调用正则表达式进行函数解析。 本地可以运行,但是haoop集群运行不了。方案二,采用boost wregex C++源码编...
分类:
其他好文 时间:
2015-08-12 16:38:15
阅读次数:
216
题目链接: 考研路茫茫――单词情结
做本题前,个人建议先做一下POJ 2778
http://blog.csdn.net/u013446688/article/details/47378255
POJ2778 是求长度为n,不包含模式串的字符串个数。
而本题是求长度为n,包含模式串的字符串个数。直接用字符串总数减去不包含模式串的字符串个数即为所求。
同样是...
分类:
其他好文 时间:
2015-08-10 16:11:45
阅读次数:
174
题目链接:Detect the Virus
题意:n个模式串,一个文本串,问文本串包含几个模式串。
解析:解码 + AC自动机。
解码过程:先将字符串转换成ASCII 然后根据相应的ASCII 转换成二进制,每一个是6位,不够加0,然后取8位为一个字符,求得的字符串为要的字符串。
PS:注意sigma_size = 256
AC代码:...
分类:
其他好文 时间:
2015-08-08 18:19:48
阅读次数:
101
参考文档http://www.hankcs.com/program/algorithm/implementation-and-analysis-of-aho-corasick-algorithm-in-java.html简介Aho-Corasick算法简称AC算法,通过将模式串预处理为确定有限状态自...
分类:
编程语言 时间:
2015-08-05 18:00:03
阅读次数:
403
题目传送门 1 /* 2 Rabin_Karp:虽说用KMP更好,但是RK算法好理解。简单说一下RK算法的原理:首先把模式串的哈希值算出来, 3 在文本串里不断更新模式串的长度的哈希值,若相等,则找到了,否则整个模式串的长度的哈希值向右移动一位 4 */ 5 /*********...
分类:
其他好文 时间:
2015-08-05 17:39:59
阅读次数:
100
代码:
#include
#include
using namespace std;
char a[1000005],b[10005];
int next[10005];
int LCPS[10005];
int n,m;
void GetLCPS()
{
int j=0;
int k=-1;
int len=strlen(b);
next[0]=-1;
...
分类:
其他好文 时间:
2015-08-03 22:45:55
阅读次数:
153
KMP算法一、传统字符串匹配算法/* * 从s中第sIndex位置开始匹配p * 若匹配成功,返回s中模式串p的起始index * 若匹配失败,返回-1 */int index(const std::string &s, const std::string &p, const int sIndex....
分类:
编程语言 时间:
2015-08-02 19:36:50
阅读次数:
152
作者:海子出处:http://www.cnblogs.com/dolphin0520/KMP算法在介绍KMP算法之前,先介绍一下BF算法。一.BF算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字...
分类:
编程语言 时间:
2015-07-30 09:20:24
阅读次数:
152