字符串-AC自动机
Maxwei_wzj
AFO
展开
-
【HDU2896】病毒侵袭-AC自动机模板题
【HDU2896】病毒侵袭-AC自动机模板题原创 2017-01-02 22:57:03 · 369 阅读 · 0 评论 -
【HDU4787】GRE Words Revenge-AC自动机+分块
测试地址:GRE Words Revenge 题目大意:维护以下操作:1.在词典中加入一个单词。2.询问一个字符串SSS中有多少个子串是词典中的单词。强制在线。 做法:本题需要用到AC自动机+分块。 如果离线,我们可以直接把所有涉及的单词先加入到trie中,然后建AC自动机,在运行的时候打标记和匹配即可。 但这里强制在线,我们知道AC自动机本身是不能支持在线插入操作的,所以每次插入后我们需...原创 2018-08-08 11:49:43 · 278 阅读 · 0 评论 -
【BZOJ1444】有趣的游戏(JSOI2009)-AC自动机+期望DP+高斯消元
测试地址:有趣的游戏 做法:本题需要用到AC自动机+期望DP+高斯消元。 首先根据题目条件,因为所有串长度相等,并且串各不相同,所以多个玩家不可能同时胜利,而且在AC自动机上一个串的终止节点只有一个,所以我们只需把AC自动机建出来,然后再建状态转移图,那么现在要求的就是,在这个状态转移图上,从AC自动机的根节点出发,走到每一个点的概率是多少。 这种在图上随机游走的问题,我们一般要求走到点ii...原创 2018-04-06 11:52:07 · 245 阅读 · 0 评论 -
【POJ2778】DNA Sequence-AC自动机+矩阵优化DP
测试地址:DNA Sequence 题目大意:给定mmm个DNA序列,问有多少长为nnn的DNA序列不包含上面的任何一个DNA序列。一个DNA序列指一个仅包含A,C,G,T四种字符的字符串。 做法:本题需要用到AC自动机+矩阵优化DP。 首先不匹配上任意一个字符串,这已经是非常明显的AC自动机+DP了,只需令f(i,j)f(i,j)f(i,j)为要求的DNA序列的前iii位匹配到AC自动机上...原创 2018-04-04 10:13:14 · 200 阅读 · 0 评论 -
【BZOJ3530】数数(SDOI2014)-AC自动机+数位DP
测试地址:数数 做法:本题需要用到AC自动机+数位DP。 首先看到多模式串匹配,自然想到用AC自动机来做。用AC自动机构造出状态转移图后,令f(i,j,k)f(i,j,k)f(i,j,k)为匹配了最高的iii位,匹配到AC自动机上的jjj点,卡上界的情况为kkk(k=0k=0k=0表示不卡上界,接下来选的数不受限制,否则反之)的方案数,那么做一个数位DP即可。注意处理数字有前导000的情况。 ...原创 2018-04-03 22:50:33 · 283 阅读 · 0 评论 -
【HDU6086】Rikka with String-AC自动机+状压DP
测试地址:Rikka with String 题目大意:给定nnn个010101串,问有多少长为2m2m2m的反对称010101串包含这nnn个串作为子串。一个串反对称当且仅当对于每个字符si(1≤i≤|s|)si(1≤i≤|s|)s_i(1\le i\le |s|)都有si≠s|s|−i+1si≠s|s|−i+1s_i\ne s_{|s|-i+1}。 做法:本题需要用到AC自动机+状压DP。...原创 2018-04-03 19:26:30 · 287 阅读 · 0 评论 -
【BZOJ2938】病毒(POI2000)-AC自动机+DFS判环
测试地址:病毒 题目大意:给定若干个01串,问存不存在一个无限长的串,使得这个串不包含任意一个给出的01串。 做法:本题需要用到AC自动机+DFS判环。 因为题目中涉及到了多串匹配的问题,所以自然想到构建AC自动机。接下来,我们知道匹配的过程实际上就是在AC自动机的节点上跳来跳去,于是我们预处理出从每个点开始走0或者走1能走到哪个点,这样就建出来了一个状态转移图。而有些点是不能走到的:每个串...原创 2018-03-16 19:18:09 · 220 阅读 · 0 评论 -
【BZOJ2434】阿狸的打字机(NOI2011)-AC自动机+树状数组
测试地址:阿狸的打字机 做法:本题需要用到AC自动机+树状数组。 因为题目是一个多模式串的匹配问题,所以很快想到对所有输出的字符串建AC自动机。 根据AC自动机的性质,如果一个点能够通过failfailfail指针走到另一个点,表示这个点代表的字符串的一个后缀等于走到的点代表的字符串。那么我们要知道串YYY中有多少串XXX,就是求在从根到代表串YYY的点的路径上,有多少个点能通过failfa...原创 2018-03-15 22:14:04 · 243 阅读 · 0 评论 -
【POJ1204】Word Puzzles-AC自动机
【POJ1204】Word Puzzles-AC自动机原创 2017-04-04 11:06:09 · 314 阅读 · 0 评论 -
【HDU4117】GRE Words-AC自动机+线段树优化DP
测试地址:GRE Words 题目大意:给定一个字符串序列,每个字符串有一个权值。求一个子序列(可以为空),使得序列中前一项总是后一项的子串,并且字符串的权值和最大。 做法:本题需要用到AC自动机+线段树优化DP。 很容易看出一个DP,但我们不能暴力找到可以转移的点,因此我们需要观察能转移到字符串sisis_i的点的性质。 首先对这些串建出AC自动机,我们发现,可以转移到字符串sisis_...原创 2018-09-10 21:45:39 · 292 阅读 · 0 评论