POJ2778 题意:只有四种字符的字符串(A, C, T and G),有M中字符串不能出现,为长度为n的字符串可以有多少种。 题解:在字符串上有L中状态,所以就有L*A(字符个数)中状态转移。这里自动机的build的hdu2222略有不同。 那一题中通过询问时循环来求she的he,但是如果he不 ...
分类:
其他好文 时间:
2016-06-25 14:53:53
阅读次数:
151
看这数据结构的名字就必须学习一个啊~~ AC自动机就是Trie和kmp的结合。 kmp是查询一个字符串,而自动机用于多个字符串的查询,比如给一篇文章和许多字符串,问有多少字符串出现过等。 由于是一般是模板题,先上板啦,在kuangbin大大那里搬过来的。 是HDU2222 的AC代码 L就是AC自动 ...
分类:
其他好文 时间:
2016-06-25 13:47:47
阅读次数:
138
Problem Description In the modern time, Search engine came into the life of everybody like Google, Baidu, etc.Wiskey also wants to bring this feature ...
分类:
其他好文 时间:
2016-06-14 17:37:54
阅读次数:
208
【HDU2222】 最纯粹的裸题,错误点详见注释。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<queue> 6 using namespace std; 7
分类:
其他好文 时间:
2016-02-07 13:36:30
阅读次数:
260
AC自动机是一种多模式匹配的算法。大概过程如下: 首先所有模式串构造一棵Trie树,Trie树上的每个非根结点都代表一个从根出发到该点路径的字符串。 然后每个结点都计算出其fail指针的值,这个fail指针就指向这个结点所表示字符串的最长存在的后缀所对应的结点,如果不存在就指向根:计算每个结点的fa
分类:
其他好文 时间:
2016-01-27 21:22:04
阅读次数:
246
Problem DescriptionIn the modern time, Search engine came into the life of everybody like Google, Baidu, etc.Wiskey also wants to bring this feature t...
分类:
其他好文 时间:
2016-01-21 23:55:15
阅读次数:
411
http://acm.hdu.edu.cn/showproblem.php?pid=2222一个AC自动机的模板题。用的kuangbin的模板,静态建Trie树。可能遇到MLE的情况要转动态建树。AC自动机的讲解看这里http://blog.csdn.net/niushuai666/article/...
分类:
其他好文 时间:
2015-12-11 01:27:57
阅读次数:
149
AC自动机模板,注意!ch,Fail,lab数组的大小不是n而是节点个数,需要认真计算! 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 10 usin...
分类:
其他好文 时间:
2015-11-19 20:50:59
阅读次数:
181