题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3277 https://www.lydsy.com/JudgeOnline/problem.php?id=3473 广义后缀自动机:https://www.cnblogs.com/HocRise ...
分类:
其他好文 时间:
2019-01-19 11:22:45
阅读次数:
180
"传送门" 两个串嘛……可以建广义后缀自动机。 我们每次要记录一下对于每个节点,其对应的在第一个串上的size和第二个串上的size,那么每个节点对于答案的贡献就是$size[0] size[1] (l[i] l[fa[i]])$ 解释一下,size其实表示的就是endpos集合之内的元素个数 ,也 ...
分类:
其他好文 时间:
2019-01-13 00:25:08
阅读次数:
212
"传送门" 这题的字符串匹配搬到了树上……?那不在一条链咋做啊……不会了,凉凉…… 然后丽洁姐姐给我们留了一条生路……就是保证了叶子节点的个数不超过20. 树上任意一条路径,我们总能找到一个叶子节点,使得以它为根的时候这条路径在一条链上。那我们可以把每个叶子节点作为根节点来建立广义后缀自动机,最后直 ...
分类:
其他好文 时间:
2019-01-13 00:17:40
阅读次数:
187
"传送门" 广义后缀自动机…… 其实也不是很难理解,就是每次SAM插入一个串之后,插入新的串的时候,要把last重新调到1的位置,共用一些节点。 这个题我们首先要预处理出来每个状态被多少个串共用。~~挺暴力的~~就是每次把节点染色,如果节点没被染色就给他染一下,然后记录当前节点又被共用了一次。 最后 ...
分类:
其他好文 时间:
2019-01-12 22:55:18
阅读次数:
224
题意:给定两个字符串,从中各取一个子串使之相同,有多少种取法。允许本质相同。 解:建立广义后缀自动机,对于每个串,分别统计cnt,之后每个点的cnt乘起来。记得开long long 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstr ...
分类:
其他好文 时间:
2019-01-07 21:08:04
阅读次数:
202
成爷借月考时间学了多项式全家桶,烜神仙在做广义后缀自动机,他们都有光明的前途 ...
分类:
其他好文 时间:
2018-12-23 20:49:45
阅读次数:
136
题目描述 题解: 对于多串的子串,我们可以建出广义后缀自动机。 由于本题询问的是(子串出现次数>=k)×len的总和,就将所有串扔到自动机中,爆跳pre并标记。每个点得到 一个经过次数cnt。 若cnt>=k,说明这个点压缩的所有子串都可以作为答案串。 然后处理出每个点到根的树链上所有点的答案。 代 ...
分类:
其他好文 时间:
2018-12-15 12:03:13
阅读次数:
95
题目描述 题解: 对于所有n串建广义后缀自动机。 (广义后缀自动机唯一区别就是每次将las附成1,并不需要在插入时特判) 建完后再建出parent树,然后用dfs序+树状数组搞区间不同种类。 其实就是HH的项链+广义后缀自动机。很水的。(虽然我调了半个晚上) 代码: ...
分类:
其他好文 时间:
2018-12-10 21:55:47
阅读次数:
246
传送门在这里。 大意: 给一堆字符串,询问每个字符串有多少子串在所有字符串中出现K次以上。 解题思路: 这种子串问题一定要见后缀自动机Parent树Dfs序统计出现次数都是套路了吧。 这道题统计子串个数,那么可以发现,若一个节点所对应的子串出现了K次,那么其贡献就是len,不需要考虑重复。 因为即使 ...
分类:
其他好文 时间:
2018-12-07 17:17:27
阅读次数:
221
后缀自动机能解决很多单串的问题、但是一旦到了多串的情况、可能就会变得有些棘手 这个时候你可能会想能不能将多个串一起构建出和单串后缀自动机那样子拥有诸多优美性质的自动机呢? 答案当然是有的、那就是广义后缀自动机 对于广义后缀自动机、和普通的后缀自动机写法上有些许不同之处 大致就是在插入新串的时候、需要 ...
分类:
其他好文 时间:
2018-11-10 21:12:47
阅读次数:
552