![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AC自动机
cling_clang_233
haofan...
展开
-
LA 4670 dominating patterns AC自动机
题意:有n个模板串,给出一个文本串T,求哪个模板串出现的次数最多,注意可能有重复模板串,因为要用到map来标记做了几天自动机,照着模板来,到现在基本理解,真是满眼泪……这道题算是比较典型的自动机了(基本上就是裸题了吖QvQ),主要即判重,利用map来好方便要判重是因为,比如重复输入abaaba那么在第一次插入的时候,val[最后一个a的节点]=1在第二次插入时,val[原创 2013-09-02 22:35:34 · 550 阅读 · 0 评论 -
UVa 11468 substring AC自动机+记忆化搜索+全概率公式
题目是给出K个模板串,再给出k个字符,这些字符包括了模板串里的字符,也有不是模板串里的字符,然后再给出这些字符的概率,随机选择L次后,就能得到一条L长的随机字符串,问这个随机字符串不包括任何一个模板串的概率首先把K个模板串构造成自动机,然后把所有的结尾做一下标记,以提示该节点不可到达,因为如果走到当前结点,即意味着出现了一个模板串然后就是根据全概率公式了,首先先来理解一下全概率公式比如原创 2013-09-02 23:08:03 · 708 阅读 · 0 评论 -
UVa 11019 Matrix Matcher AC自动机 二维匹配
先给出n*m的字符矩阵T,再给出一个x*y的模板字符矩阵P,问P在T里出现了多少次这算是二维的查找了,这挺有意思的,一维的单个模板串匹配用KMP,多个的话升级到树,当一维升级到二级,多个又降回到了单个……嗯,回来说下这道题……基本算法已经很明了……如果T含P,至少,T包含P的每一行,即至少,必然存在T的某行包括P的某行因此,先把P的每行构造成自动机,再一行行地判断T,开一个二维数组原创 2013-09-02 23:58:33 · 668 阅读 · 0 评论