fail树
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 2434 NOI2011 阿狸的打字机 fail树+树状数组
题目大意:初始字串为空,首先给定一系列操作序列,有三种操作:1.在结尾加一个字符2.在结尾删除一个字符3.打印当前字串然后多次询问第x个打印的字串在第y个打印的字串中出现了几次卡了很久……到底还是对AC自动机了解不是很深啊QAQfail树不是很难想 至少在用AC自动机切掉3172之后不是很难想……首先构建AC自动机 注意由于这个字串的特殊构造 我们不必每打印一个字符串再原创 2014-11-26 16:39:36 · 3231 阅读 · 0 评论 -
BZOJ 3172 Tjoi2013 单词 fail树
题目大意及后缀数组做法见 http://blog.csdn.net/popoqqq/article/details/41042473原来正解是fail树……难怪后缀数组被卡成这样首先我们将给出的n个串构建AC自动机朴素的做法是对于每个串将这个串每个节点沿着fail指针扫一遍,将路径上的所有点的cnt++但是这样做会TLE我们不妨反向思考 fail指针反向后是一棵树 沿着fail原创 2014-12-08 20:18:47 · 2827 阅读 · 0 评论 -
BZOJ 2754 SCOI2012 喵星球上的点名 fail树+set启发式合并
题目大意:给定n个目标串和m个模式串,问这m个模式串每个在多少个目标串中出现过,以及n个目标串每个以最多多少个模式串为子串我错了……就算用fail树+set启发式合并也优化不到O(nlog^2n)……这题的数据范围相当无解啊首先将所有名字和点名的字符串全都插进AC自动机将每个点上开一个set记录这个点是哪些喵星人的名字的前缀然后建立fail树 沿着fail树从下到上启发式合并每原创 2014-12-09 00:35:48 · 2060 阅读 · 0 评论 -
BZOJ 3881 Coci2015 Divljak fail树+树链的并
题目大意:给定两个字符串集合S和T,初始给定S集合中的所有字符串,不断向T集合中添加字符串,以及询问S集合中的某个字符串在T集合中的多少个字符串中出现过神题- -首先对S集合的所有字符串构建fail树T集合中每加入一个字符串,我们就将这个字符串在AC自动机上跑一遍,并记录经过的所有节点根据fail树的性质,这些节点到根路径上的所有节点的并集的出现次数都加了1因此我们要求的就是树原创 2015-01-22 15:41:34 · 3150 阅读 · 1 评论