AC自动机
HT008_123
家人们点点关注叭
展开
-
AC自动机
2018-4-2重新编辑作为一个蒟蒻的我,终于学习了AC自动机。 其实之前我以为AC自动机是自动AC的呢!(手动滑稽) 其实AC自动机啊,是字符串匹配中的多匹配问题的基础2333 举个栗子 母串 hychycxyxy 三个匹配串 hyc chy cxyy 有两个是母串的子串2333 如果匹配串只有一个的话,那就用KMP喽,可是这个是很多个匹配串咋办呢 那就得请出炒鸡厉害...原创 2017-04-16 10:58:13 · 860 阅读 · 0 评论 -
[POI2000] 病毒
题目描述:qwq.题目分析:把病毒串构建一个Ac 自动机 然后我们在Ac自动机上DFS,如果能够DFS出一个无病毒环,即成功!题目链接:Luogu 2444Ac 代码:#include <cstdio>#include <iostream>#include <cstring>#include <string>...原创 2018-04-02 16:42:21 · 343 阅读 · 0 评论 -
[NOI2011] 阿狸的打字机
题目描述:一道很神的AC自动机好题题目分析:对于AC自动机中的每一个节点,如果节点A的fail指向节点B 就会发现B对应的字符串一定在A对应的字符串中出现 联系一下fail指针的作用 利用这个性质 题目就变为了 Y有多少fail直接或者间接的指向X的结束位置 考虑到一个节点有且只有一个fail,那么由fial指针构成的图,就叫做fail树 现在询问变成了,在fail树中,...原创 2018-04-03 08:23:18 · 208 阅读 · 0 评论 -
[TJOI2013] 单词
题目描述:qwq.题目分析:对fail指针的理解还是不够哇qwq fail[u]所代表的串,其实是u所代表的串的后缀. 而后缀可以表示出所有的子串 每个节点初始值为1,代表前缀出现过一次 从 u->fail[u]连一条边,那么fail[u]这个串的出现的次数,就是它的fail树子树和 用倒叙BFS序进行统计题目链接:BZOJ 3172 Luogu 3966...原创 2018-04-03 15:23:37 · 160 阅读 · 0 评论 -
[JSOI2007] 文本生成器
题目描述:qwq.题目分析:惊了,居然可以在AC自动鸡上跑DP(大雾 直接算好像比较困难,所以考虑先算不可读的串的个数,再拿总串数去减。 不可读的串的数量就是在AC自动机上走M步而不经过结尾节点(包括结尾点和fail指向结尾点的节点)的路径条数。 f[i][j]表示路径长度为i在自动鸡上j节点的方案数 那么f[i][j]可以转移f[i+1][son[j][k]] 最后算一...原创 2018-04-03 16:17:53 · 403 阅读 · 0 评论