AC自动机
文章平均质量分 75
pbihao
这个作者很懒,什么都没留下…
展开
-
【BZOJ 2434】[Noi2011]阿狸的打字机 Ac自动机+树状数组+dfs序
很简单的想法是,建造Ac自动机以后,如果一个单词节点的fail指针指向另外一个字符串的路径上,那么它对两者之间会造成贡献,基于这样的想法,我们需要做的就是如何快速的求这个贡献。考虑反向链接fail指针每个节点只有一个出边所以将会是一个树,根据刚才的性质,根节点会对他的所有子树中的节点造成答案的贡献,然后维护dfs序,就能快速知道他的子树区间。最后统计答案的时候离线处理。对于一个串,将Trie数上的原创 2016-12-20 16:06:12 · 305 阅读 · 0 评论 -
【BZOJ 2938】[Poi2000]病毒 fail树+dfs判环
反过来想就是给一个无限长的字符串,然后在fail树上永远跑不到val==1的点,failed树是一个有向图,因此只要有向图出现环就可以了,dfs维护点的信息,在栈中,已经出栈,还没有进栈判断一下就好了。#include#include#include#include#define maxn 30021using namespace std;int ch[maxn][2],fail[原创 2017-02-16 15:55:47 · 331 阅读 · 0 评论 -
【BZOJ 3940】[Usaco2015 Feb]Censoring AC自动机
同3940把kmp改成Ac自动机就可以了,用一个栈维护信息就好了。#include#include#include#define maxn 100021using namespace std;int ch[maxn][26],fail[maxn],n,m,tot,top,f[maxn],val[maxn],q[maxn*2],mx[maxn];char st[maxn*2],ss[原创 2017-01-24 21:58:31 · 293 阅读 · 0 评论