本题观察数据量非常小,并且求的是多串匹配,因此可以考虑使用ac自动机 设计dp状态为f[][],表示c中前i个字符匹配到第j个节点所能达到的最大值。 首先我们知道,两个匹配串在结束位置的点分别是+-1,而所有前缀能包含这两个字符串的,也应该设为对应的数值,对fail树进行修改进行。 dp的时候,枚举 ...
分类:
其他好文 时间:
2020-08-01 12:35:22
阅读次数:
112
![](https://img2020.cnblogs.com/blog/1930231/202007/1930231-20200730152945529-1564577098.png) ...
分类:
其他好文 时间:
2020-07-30 16:52:08
阅读次数:
77
跑ac自动机后使用fail树建立dfs序后跑树状数组维护答案 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e6+10; struct node{ int cnt; node * nxt ...
分类:
其他好文 时间:
2020-07-19 00:37:01
阅读次数:
84
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=5e5+10; struct node{ int cnt; node * nxt[27]; node * fail; vector<node ...
分类:
其他好文 时间:
2020-07-18 00:44:51
阅读次数:
57
AC自动机 模板题 AC自动机其实和kmp挺像的,主要是在优化时间方面,所以很多kmp题目也可以用ac自动机去写。 但这个题目用kmp写不了,因为kmp在一次比较中最多要花N+M的时间,而这个题目的特点是N很小但是多,kmp每次都要N+M的时间的话必然超时。 AC自动机的好处就在将所有要与m比较的字 ...
分类:
其他好文 时间:
2020-07-16 12:11:12
阅读次数:
62
好久不做 \(AC\) 自动机题了,今天水一道 Description link 给定一些字符串,然后给出每个字符的概率 \(p_i\),和一个长度 \(L\) 我们现在要构造一个长度为 \(L\) 的字符串,对于这个字符串的每个位置,每个字符有 \(p_i\) 的概率出现在这个位置 求有多大的概率 ...
分类:
其他好文 时间:
2020-07-12 11:52:35
阅读次数:
61
A string s is called an (k,l)-repeat if s is obtained by concatenating k>=1 times some seed string t with length l>=1. For example, the string s = aba ...
分类:
其他好文 时间:
2020-07-11 00:16:01
阅读次数:
65
Lost and AekdyCoin are friends. They always play "number game"(A boring game based on number theory) together. We all know that AekdyCoin is the man c ...
分类:
编程语言 时间:
2020-07-07 12:52:15
阅读次数:
93
用于字符串匹配,其时间复杂度为O(n),具体原理就不搬了,这边给出PHP的实现代码: <?php class AcAutomation { private $root; public function __construct($keywords = array()) { $this->root = ...
分类:
Web程序 时间:
2020-06-29 13:28:38
阅读次数:
57
考场上随手构造了一组数据把自己卡掉了 然后一直都是掉线状态了。 最后发现这个东西不是subtask -1的情况不多 所以就没管无解直接莽 写题有点晚 故没调出来。。 考虑怎么做 容易想到建立AC自动机 然后不能跑到结尾节点 fail是结尾节点的也不能跑。 把那些节点抽出来就可以随便跑了 题目描述非常 ...
分类:
其他好文 时间:
2020-06-29 10:06:59
阅读次数:
53