![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ac自动机
Dale_zero
从零开始吧!
展开
-
hdu 2296 Ring AC自动机DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2296出了很奇怪的re问题,可能是用memset清除string类型的数组会RE?最后改了一个保证输出字典序最小就过了???初始化需要将dp数组置为-1,置dp00=0;-1表示不可达状态细节比较多的AC自动机DP#include<bits/stdc++.h>usi...原创 2018-10-12 22:48:38 · 229 阅读 · 0 评论 -
hdu 1277 全文检索 AC自动机
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1277去年9月份看的ac自动机,记得那时简直要崩溃了,怎么看都看不懂。今天发现原来是这么的简单。。也算是进步了吧 细节比较多的入门题,测了下以前的板子对不对。。居然被调试语句坑了2发,哎呀呀#include<bits/stdc++.h>using namespace s...原创 2018-10-07 00:36:19 · 222 阅读 · 0 评论 -
hdu 5880 Family View AC自动机
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5880更新了模板,另外读入的时候需要注意用gets()模板(kuangbin):const int MAX=500005;struct Trie{ int next[MAX][26],fail[MAX],end[MAX]; int root,L; int ne...原创 2018-10-09 20:40:12 · 162 阅读 · 0 评论 -
hdu 2457 DNA repair AC自动机+DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2457这道题用不到query函数,直接在带fail的字典树上面进行dp。明确两点:①:所有串insert之后builfail会将所有next=-1的指针指向根节点②:正常查询时若查到一个有标记值的点,需要不断向上遍历fail节点,因为fail是其最长后缀,其出现则其后缀也一定出现。但...原创 2018-10-10 00:31:52 · 191 阅读 · 0 评论 -
hdu 2825 Wireless Password AC自动机DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2825发现只奥树上节点较少并且有最优子结构的问题就可以用ac自动机dp求解。新发现了一点:buildfail之后,之前等于-1的next值会赋值为与根节点相同分支的next值。这是一个ac自动机上的状压dp,dp【i】【j】【k】代表用i个字符到达了节点j,并且当前覆盖了字符串集合k时有...原创 2018-10-10 19:41:56 · 193 阅读 · 0 评论 -
2018北京ICPC H Approximate Matching AC自动机DP
题目链接:http://hihocoder.com/problemset/problem/1877因为近似匹配最多只能有1个字符不匹配,所以向ac自动机里加入n+1个模式串(还有一个原串)。然后用AC自动机DP,insert之后构建fail边。如果要让dpij代表前i个字符到达第j个节点并且至少近似匹配一次的话,转移起来会非常麻烦,所以就反过来统计前i个字符到达第j个节点没有近似匹配的字符...原创 2018-11-14 22:19:25 · 445 阅读 · 0 评论