随笔分类 -  AC自动机

摘要:传送门 显然直接 $AC$ 自动机上数位 $dp$ 一下 预处理出 $f[i][j]$ 表示当前匹配到 $AC$ 自动机上的节点 $j$ ,再放 $i$ 个位的数字后不冲突的方案数 初始时 $f[0][j]=1$ ,其中 $j$ 不是匹配节点(匹配节点显然指的是本身是某个模式串的结束节点或者 $fa 阅读全文
posted @ 2019-09-22 15:48 LLTYYC 阅读(242) 评论(0) 推荐(0)
摘要:传送门 看到题面就是多模式串匹配,显然考虑 $AC$ 自动机 但是一个个匹配显然太慢了,想想匹配时在做什么,对于一个文本串,我们在自动机上走走走,每到一个位置就把那个位置的标记 $+1$,最后一波 $dfs$ 统计 $fail$ 树子树的标记和,然后对于某个模式串,它在自动机上结束节点的子树和就是它 阅读全文
posted @ 2019-09-12 11:05 LLTYYC 阅读(218) 评论(0) 推荐(0)
摘要:A. There Are Two Types Of Burgers 题意: 给一些面包,鸡肉,牛肉,你可以做成鸡肉汉堡或者牛肉汉堡并卖掉 一个鸡肉汉堡需要两个面包和一个鸡肉,牛肉汉堡需要两个面包和一个牛肉 求能得到的最多的钱 直接贪心,哪个比较贵就选哪个做,剩下的材料再做另一个 #include<i 阅读全文
posted @ 2019-08-23 07:47 LLTYYC 阅读(308) 评论(0) 推荐(0)
摘要:传送门 先想想暴力怎么搞 搞一个AC自动机 对每个询问 x,y 把 y 暴力向下匹配 每个点都暴力跳fail 看看x出现了几次 稍微优化一波 因为有多组询问 考虑离线 可以把同一组的 y 一起来计算 还是把 y 暴力匹配 看看所有的 x 出现了几次 再来一波优化 考虑什么时候 x 的出现次数会增加 阅读全文
posted @ 2018-09-23 10:40 LLTYYC 阅读(174) 评论(0) 推荐(0)
摘要:传送门 AC自动机 考虑一位一位填字符 一旦包含了单词(即经过了结束标记或fail上的结束标记) 那么后面不管填什么都是一篇可读的文章 如果一共要填 m 个单词,当前填到了第 i 个字符就一定可读了 那么后面每个字符都有 26 种填法,所以方案就多了 26^(m-i) 种 然后打了个 30 分的搜索 阅读全文
posted @ 2018-09-22 10:37 LLTYYC 阅读(232) 评论(0) 推荐(0)
摘要:传送门 看到题面肯定先搞个AC自动机 考虑一位一位填字符 那么在自动机上就是一位一位匹配 考虑什么时候包含了所有子串 显然是经过了所有的结束标记(当然fail上的也算经过) 最多只有11个单词 考虑状态压缩 经过第 i 个单词结尾就把状态的第 i 位 | 1 然后就可以广搜找了 因为扩展是从 A 到 阅读全文
posted @ 2018-09-22 10:10 LLTYYC 阅读(213) 评论(0) 推荐(0)
摘要:传送门 显然是个AC自动机 考虑删除完单词后怎么回到前面 可以开一个栈 存到每个字符时匹配的位置 然后就可以搞了 答案也用一个栈存 每次删单词时把答案栈里的单词也弹出来 最后输出栈里的单词就好了 数据有毒,输出后要换行,不然会WA... 阅读全文
posted @ 2018-09-22 09:40 LLTYYC 阅读(203) 评论(0) 推荐(0)
摘要:传送门 AC自动机 如果有一个无限长的安全串 那么这个串在所有危险代码构成的AC自动机上一直匹配下去都不会走到结束标记 因为如果走到结束标记说明串中有危险代码 考虑怎样才能无限匹配 可以发现,如果在AC自动机上从根节点出发,一直走能走出一个环的话 那么就可以一直走这个环,从而无限匹配下去 所以要在自 阅读全文
posted @ 2018-09-20 18:06 LLTYYC 阅读(211) 评论(0) 推荐(0)
摘要:传送门 AC自动机 一看就知道是AC自动机 它问的是每一个单词在所有单词中出现的次数 对所有单词搞一个AC自动机 然后把所有单词连在一起,中间用一个不会出现的字符或者其他什么的隔开 然后把连在一起的串放到AC自动机上搞匹配就行了 要注意单词可能有重复 所以要把重复的单词判一下 具体看代码 阅读全文
posted @ 2018-09-19 09:51 LLTYYC 阅读(223) 评论(0) 推荐(0)
摘要:传送门 AC自动机的模板 简单的理解就是字典树上的KMP 注意数组不要开太大 不然每次memset耗时太多 有一个小优化 每次走 fail 边找匹配时只有一些会更新答案 那么就可以把没用的fail边压缩掉 设 g[x] 表示从 x 点一直走 fail 边,走到的第一个有结束标记的点 那么找匹配时就只 阅读全文
posted @ 2018-09-19 09:39 LLTYYC 阅读(235) 评论(0) 推荐(0)