AC自动机/序列自动机
文章平均质量分 74
经典自动机
Code92007
No Saturday , no Sunday , no holiday .
展开
-
AtCoder Beginner Contest 299 F. Square Subsequence(序列自动机+dp)
则置dp[x在[1,r]里第一个出现的位置][x在[r+1,n]里第一个出现的位置]为1。再用nex[i][j]=nex[i+1][j],求得>i的第一个字母j的位置。考虑枚举分界线r,将s分成左右两部分[1,r][r+1,n],即nex[i][x]、nex[j][x],x遍历26个字母即可。代码中,nex[i][j]先求出>=i的第一个字母j的位置,则可以在[i,r]、[j+1,n]中再找到一个公共字母x,且在[r+1,n]也出现,则只会在[1,r]中计数一次。答案对998244353取模。原创 2023-07-23 04:14:59 · 216 阅读 · 0 评论 -
洛谷P2292 [HNOI2004]L语言(AC自动机)
题目字典里给出n(n<=20)个模式串,串长|s|<=10,m(m<=50)个询问,每次询问一个文本串t(|t|<=2e6)的最长前缀长度,使前缀可以由字典里的串拼接而成模式串和文本串均由小写字母组成思路来源https://www.luogu.com.cn/blog/fusu2333/solution-p2292题解很显然的做法是,暴力跳fail,如果fail是一个标记点,代表了一个长度为len的串,则dp[i]|=dp[i-len],这样做,复杂度是原创 2020-08-28 00:04:30 · 259 阅读 · 0 评论 -
Educational Codeforces Round 94 (Rated for Div. 2) F.x-prime Substrings(AC自动机(模板)+dp 禁止串 最少删除字符)
题目给一个仅有数字1-9构成的串s(|s|<=1e3),计f(l,r)是[l,r]的数位和,对于[l1,r1],计f(l1,r1)=x,如果不存在其子区间l1<=l2<=r2<=r1,使得f(l2,r2)不等于x,且f(l2,r2)整除x则称[l1,r1]是x-prime的现给定x<=20,求最少删除的s串的字符数,使得删除后的串不存在x-prime子串,注意删除了一个字符之后,前半段和后半段拼接在一起思路来源hcn代码https:/原创 2020-08-27 16:59:33 · 298 阅读 · 0 评论 -
hdu6208 The Dominator of Strings(AC自动机 模板题)
题目t组样例,每次给你n个串,问是否存在一个串,其它n-1个串都是它的子串存在的话,输出这个串;否则输出No思路来源https://blog.csdn.net/qq_29480875/article/details/78013177题解mx[]存最长串,tmp[]存读入串每次读入时进行比较,把短的插到trie树里去,最后最长的mx串当模式串匹配,匹配到一个就将其...原创 2019-06-27 15:48:16 · 189 阅读 · 0 评论 -
牛客小白月赛12 J-月月查华华的手机(序列自动机)
题目一个模式串s(|s|<=1e6),n(n<=1e6)个询问,每次询问一个串t(|t|<=1e6)每次询问t是不是s的子序列思路来源https://blog.csdn.net/gemorz/article/details/53184721题解建一下序列自动机,然后每次在自动机上跑一下,类似trie树,看看是否存在即可预处理自动机O(26*|s...原创 2019-03-28 19:24:44 · 394 阅读 · 0 评论 -
poj1625 Censored!(AC自动机+矩阵快速幂/dp+大数)
题目n<=50,代表字母表里最多n个字母,然后p个被禁止的串,问串长不超过m有多少合法串思路来源https://www.cnblogs.com/kuangbin/p/3159954.html题解其实和前面的几道题基本一样,就是需要用大数,然后调调参就过了矩阵快速幂可以用dp替代,dp[i][j]代表串长不超过i的以状态j结尾的方案数,由于必须从根节...原创 2019-02-15 16:43:49 · 376 阅读 · 0 评论 -
hdu2243 考研路茫茫――单词情结(AC自动机+矩阵快速幂)
题目给n个允许的串,给一个串长l问不超过l的串中,至少包含一个串的个数思路来源自己刚发的前两题题解poj2778+poj3233题解用所有的串去减所有病毒串M,即不包含任意一个串且长度为1的矩阵M既然能根据矩阵快速幂求长度为l的,就可以根据幂和就能求了符合条件的是的左下角矩阵的第一行元素 注意幂和的时候,左下角的矩阵的对角元应该减1 但是...原创 2019-02-15 12:48:15 · 258 阅读 · 0 评论 -
poj2778 DNA Sequence(AC自动机+矩阵快速幂)
题目给你一个m,一个n,m个要被禁止的模式串,问长度恰为n的串里,不包含任意一个模式串的方案数是多少方案数模10W思路来源https://blog.csdn.net/morgan_xww/article/details/7834801(思路,强烈推荐,博主好文)https://blog.csdn.net/u013446688/article/details/4737...原创 2019-02-15 01:54:00 · 237 阅读 · 0 评论 -
hdu3065 病毒侵袭持续中(AC自动机模板题)
题目给一些模式串,一个标准串统计每个串的出现次数注意模式串中只有大写字母标准串可见字符啥都有思路来源https://www.cnblogs.com/gongxijun/p/4018255.htmlhttps://www.cnblogs.com/Simon-X/p/5687318.html心得开始忘了memsetTrie树,然后疯狂tle???卧槽我该剪枝的都...原创 2019-02-14 18:58:25 · 185 阅读 · 0 评论 -
hdu2896 病毒侵袭(AC自动机)
题目思路来源https://www.cnblogs.com/hefenghhhh/p/5051334.html注意事项:①MLE 32768KB卡限,这里用指针的AC自动机卡了32628KB过了,考虑用数组的AC自动机②病毒小于等于3个也得排序啊③在线输出和离线输出都可以AC代码1:#include <iostream>#include &l...原创 2018-09-09 19:18:40 · 286 阅读 · 0 评论