
AC自动机
Spy97
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces 1252D Find String in a Grid
题意 给一个矩形字符串,题问很多串,问每个匹配的次数 匹配的定义是,向右走然后向下走,经过的字符接在一起和提问串一样 比如 匹配了 ′ABC′'ABC'′ABC′ , 单独水平或竖直匹配也是可以的(不一定要有拐点) 题解 题解的做法很复杂,用后缀数组搞得很麻烦,然后在vj上找到了一个简单的做法 AC自动机 枚举横行,枚举拐点,然后暴力向下走,在自动机上跑,复杂度 O(n3)O(n^3)O(n3)...原创 2019-12-08 10:03:13 · 369 阅读 · 1 评论 -
ICPC World Final 2019 G First of Her Name AC自动机 树上SA 广义后缀自动机
题意 给出一个字符构成的树,每个节点到根经过的字符组成一个字符串。有多个询问,每次询问一个字符串,求询问串是多少个字符串的前缀 题解 在树上求后缀数组,求出每个字符串的字典序的排名 对于询问操作,找出询问串在字符串中的排名的区间范围,就得出答案了 由于是有序的,所以可以用二分查找,前缀等于询问串的最小和最大的排名,差值就是答案 注意二分查找时的边界问题:La=n+1,Ra=0La=n+1,Ra=0...原创 2019-11-06 11:29:25 · 459 阅读 · 0 评论 -
Codeforces 1202E You Are Given Some Strings...
题意 给出一个长串 ttt ,n个短串 sis_isi ,问两两连接成的 si+sjs_i+s_jsi+sj 在 ttt 的出现次数的和为多少 题解 从另一个角度分析,每次的匹配,在 ttt 中的sis_isi和sjs_jsj 的连接位置 +1, 我们枚举 ttt 的每一个对应连接的位置,看有多少对能匹配上 若在位置 kkk 能匹配上,有一个特征,si=t[i−len(si)+1,k]...原创 2019-08-14 09:58:30 · 391 阅读 · 2 评论 -
洛谷 P5357 AC自动机 模板题
题目链接 题意 给出一个长串,提问n个串,输出在长串中出现的次数 题解 将n个询问的串建立AC自动机,拿长串去匹配 首先不能暴力跳 failfailfail 去统计了,因为,答案的总和肯定是 n2n^2n2 级别的,所以肯定不是暴力跳 failfailfail 一个一个去累加答案的 根据 failfailfail 的含义,如果当前结点匹配成功,那么他的 failfailfail 指向的结点一定也匹...原创 2019-08-14 21:06:01 · 260 阅读 · 0 评论