
AC自动机
AC自动机
_Shmily
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
石油大--Contest2022 - 2020年秋季组队训练赛第二场--17100 Problem D、Find String in a Grid (AC自动机)
题面:题意:给定一个 R∗CR*CR∗C 的字符矩阵,由大写字母构成。有 qqq 个询问,每次给定一个由大写字母构成的字符串,问这个字符串在这个字符矩阵中出现了多少次。某个字符串在矩阵中出现定义为:这个字符串在矩阵中的存在形式是先往右匹配再往下匹配。其中往右往下的长度均可以为0。题解:考虑离线 qqq 个查询,将这 qqq 个查询建立 AC自动机。然后将 R∗CR*CR∗C 的字符矩阵中的每个往右往下的串(枚举第 iii 行,枚举拐点 jjj)在 AC自动机上匹配,最后在 failfail原创 2020-08-30 20:24:49 · 533 阅读 · 0 评论 -
牛客2020年七夕节比赛 F、牛妹的考验 (AC自动机)
题目链接题面:题意:给定一些字符串的权值(可能有重复的字符串,重复计算即可)。要求构造一个长度为 L 的字符串,给定的字符串出现在这个长度为L的字符串中每出现一次就会得到一次相应的权值。考虑包含的情况,即串 abc 既包含 abc 也包含 ab 。题解:AC自动机。在处理fail指针的时候考虑包含串的情况。dp[x][len]dp[x][len]dp[x][len] 到AC自动机上节点x且此时串的长度为len所能获得的最大权值。代码:#include<iostream>#i原创 2020-08-27 08:34:42 · 149 阅读 · 0 评论 -
P2414 [NOI2011]阿狸的打字机 (AC自动机)
题目链接题面:题解:离线 + fail树#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#include<queue>#include<vector>#define ll long longusing namespace std;c原创 2020-08-24 22:31:29 · 116 阅读 · 0 评论 -
P2444 [POI2000]病毒 (AC自动机)
题目链接题面:题解:如果在AC自动机上可以形成一个环且不经过危险标记,那么就可以。在字典树上插入时,在每个序列最后打上危险标记。很明显的是,如果一个节点的fail指针指向的节点有危险标记,那么这个点就应该有危险标记。搜索时,ac自动机上不存在的点也应该搜索。//爱的魔力转圈圈#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<原创 2020-08-24 22:31:21 · 147 阅读 · 0 评论