【传送门:BZOJ2434】 简要题意: 给出一个模式串 题解: 处理x字符串在y字符串出现的次数,很容易想到fail树 一开始想着把y字符串的结尾字符在trie树上的位置开始,往上找,找到的点的fail指针如果指向x字符串的结尾字符的话,ans就++ 但是这样做的时间复杂度是O(mn),显然会超时 ...
分类:
其他好文 时间:
2017-12-25 15:08:49
阅读次数:
208
【传送门:BZOJ3172】 简要题意: 给出n个字符串,求出每个字符串在这n个字符串中出现的次数 题解: 很容易就想到AC自动机,但是单单是AC自动机还不行 这时就要用AC自动机的延伸——fail树来做(时常膜一膜算法,有益身体健康) fail树这个玩意就是将AC自动机中fail指针当成是一条边, ...
分类:
其他好文 时间:
2017-12-24 15:52:51
阅读次数:
128
倒序建立后缀自动机的fail树就是后缀树,dfs后缀树得到后缀数组 ...
分类:
编程语言 时间:
2017-12-07 16:02:44
阅读次数:
234
C++内存检测 QGC的ScreenToolsController 大一java图书馆管理系统课程设计 BZOJ2434浅谈Trie树构建Fail树DFS离线线段树查询 hrn尉擅涡http://p.baidu.com/pai/center?uid=b93d61626361313366626573b ...
分类:
其他好文 时间:
2017-12-03 11:35:00
阅读次数:
247
【BZOJ4231】回忆树 Description 回忆树是树。 具体来说,是n个点n-1条边的无向连通图,点标号为1~n,每条边上有一个字符(出于简化目的,我们认为只有小写字母)。 对一棵回忆树来说,回忆当然是少不了的。 一次回忆是这样的:你想起过往,触及心底…唔,不对,我们要说题目。 这题中我们 ...
分类:
其他好文 时间:
2017-10-29 12:43:00
阅读次数:
148
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3172 对这$n$个串建立AC自动机,求每个串的出现次数。 我们在建立时对每一个经过的节点sum++,然后在fail树上从叶子节点不断向上更新,因为父亲节点代表的是孩子节点的一个后缀,所以孩子 ...
分类:
其他好文 时间:
2017-10-07 22:02:51
阅读次数:
165
题目链接:【http://www.lydsy.com/JudgeOnline/problem.php?id=3172】 题意:给出一个文章的所有单词,然后找出每个单词在文章中出现的次数,单词用标点符号隔开。 题解:时间很坑啊,朴素的做法是,先在AC自动机上插入单词,并记录下每个单词,然后用每个单词去 ...
分类:
其他好文 时间:
2017-10-01 22:06:32
阅读次数:
203
[BZOJ 1195] 最短母串 题意 给定 n (n <= 12) 个子串 s (|s| <= 60) , 求一个最短母串. 分析 建 AC 自动机. 设 St 为每个点的状态, 在 fail 树上下传一下. 直接 BFS 找到第一个满的状态 (Node, State) . [BZOJ 4327] ...
分类:
其他好文 时间:
2017-09-23 13:29:41
阅读次数:
154
ac自动机+bit 很早以前就做过这道题了,再做一遍。 构建ac自动机的话就是模拟一下就可以了,然后就是如何统计答案。 这里巧妙地利用了fail树的性质,fail树是指当前在trie上从根到这个节点的路径,也就是某个单词的前缀,这个单词的前缀的后缀能够匹配上另一个单词的前缀,于是就把fail指针连向 ...
分类:
其他好文 时间:
2017-07-22 20:00:45
阅读次数:
201
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3172 【题解】 考虑建出AC自动机,那么fail树上每个点的父亲为fail,父亲->儿子为后缀关系(父亲是儿子后缀) 那么走到父亲肯定走到了儿子,直接统计即可。 # include <queu ...
分类:
其他好文 时间:
2017-07-17 23:52:03
阅读次数:
255