AC自动机
forever_shi
但行好事,莫问前程;行你所行,无问西东!
展开
-
洛谷3966 BZOJ3172 单词 AC自动机
题目链接 题意: 给你n个字符串,求每个字符串在所有字符串中出现了几次。题解: 需要字符串匹配,还是多串匹配,不难想到要AC自动机。但是不能直接用AC自动机匹配,因为可能是另一个串的子串。我们考虑建AC自动机的过程,我们在一个一个插入字符串的过程中,一旦经过了trie树上的某个节点,就意味着根到该节点的字符串又出现了一次,所以建trie树时一路上给每个经过节点的经过次数都加一,并且记录每...原创 2018-08-03 21:34:51 · 160 阅读 · 0 评论 -
洛谷2444 BZOJ2938 病毒 AC自动机
题目链接 题意:给你n个01串,这些01串不能在你的串中出现,问你是否能构造出无限长的01串。题解: 乍一看是挺不好想的。无限长会想到得到一个可行的循环节,那些串不能出现却不太好处理。我是听别人讲的这道题,所以我也没有想好该怎么说明才能想到AC自动机的,如果有能给出一个合理的思维过程的朋友欢迎与我交流。 我们考虑AC自动机的原因是它可以用fail指针跳转,如果在跳的过程中形成了环,那么就...原创 2018-08-03 23:56:10 · 147 阅读 · 0 评论 -
洛谷2414 BZOJ2434 NOI2011 阿狸的打字机 AC自动机 树状数组
题目链接题意:给你一个读入串,其中包含多个字符串。字符集是小写字母,如果读到B,表示当前串删除上一个字母,如果读到P,表示当前串形成了一个新串,但是原来的的字符串并不消失,会继续成为下一个串的前缀。我们给每个串按产生的顺序标上序号,每次会给出两个询问串的标号,问第x个串在第y个串中出现了多少次。总串长<=1e5,询问次数<=1e5。题解:是一个我觉得写起来有点麻烦的题。首先问...原创 2019-02-13 19:26:29 · 204 阅读 · 0 评论 -
BZOJ2905 背单词 AC自动机 线段树
题目链接由于是权限题,我没有权限号,就挂了一个darkbzoj的链接。题意:给你nnn个字符串,每个串有一个价值,你要从中选出一个价值和最大的子序列,使得前面的串是后面串的子串。数据组数&lt;=10,总串长&lt;=3e5,单个串长&lt;=2e4数据组数&lt;=10,总串长&lt;=3e5,单个串长&lt;=2e4数据组数<=10,...原创 2019-02-19 16:53:25 · 336 阅读 · 0 评论 -
BZOJ3881 [Coci2015]Divljak AC自动机 树状数组 倍增LCA
题目链接由于是BZOJ的权限题,于是放的是darkbzoj的链接。题意:你有一个由nnn个字符串组成的集合SSS,然后有qqq次操作。每次操作会在另一个集合TTT中加入一个字符串,或者询问某一个在SSS中的串在TTT集合的所有串中的多少个中出现过。n,q&lt;=1e5n,q&lt;=1e5n,q<=1e5,总串长&lt;=2e6&lt;=2e6<...原创 2019-02-20 21:29:02 · 193 阅读 · 0 评论