E - Three strings 将三个串加进去,看每个节点在三个串中分别出现了多少次。 ...
分类:
数据库 时间:
2018-11-02 20:28:27
阅读次数:
186
建立在tire上的后缀自动机,采用bfs的建图方式,可以保证复杂度 ...
分类:
其他好文 时间:
2018-09-27 00:06:57
阅读次数:
161
给定串S和m个串Ti。Q次询问,每次询问l,r,pl,pr,求S[pl~pr]在Tl~Tr中的哪个串出现次数最多,输出最多次数及其T的下标。若有多个,输出下标最小的。 ...
分类:
其他好文 时间:
2018-07-25 22:02:00
阅读次数:
464
http://codeforces.com/problemset/problem/666/E 首先一个显然的想法 对于广义后缀自动机上每一个点 开线段树存子树出现次数的众数 预处理可以使用线段树合并 问题在于询问$[l, r]$的时候 如何找到点$r$的位置(此时左端点是从$l$出发的,而不是从$1 ...
分类:
其他好文 时间:
2018-05-06 19:59:02
阅读次数:
212
https://www.lydsy.com/JudgeOnline/problem.php?id=3277 把多个串插入广义后缀自动机中,建出parent树,在树上做set启发式合并, 记录下每一个前缀在不同串出现的次数, 再对每个串暴力匹配一遍,求出答案即可. 复杂度O(nlogn) 1 #inc ...
分类:
其他好文 时间:
2018-05-05 23:09:36
阅读次数:
300
https://www.lydsy.com/JudgeOnline/problem.php?id=3926 广义后缀自动机是一种可以处理好多字符串的一种数据结构(不像后缀自动机只有处理一到两种的时候比较方便)。 后缀自动机可以说是一种存子串的缩小点数的trie树,广义后缀自动机就是更改了一下塞点的方 ...
分类:
其他好文 时间:
2018-04-27 12:26:15
阅读次数:
167
题面 "传送门" Sol 求多个串的不同子串的个数 广义后缀自动机 也就是可以表示所有的串的所有的后缀的自动机 那么每次建一个串后,另外一个串接在初始节点下面建就好了 叶子节点最多$20$个 那么对于每个叶子结点遍历一遍树建立$sam$ 注意回溯时要把$last$指回来 cpp include de ...
分类:
其他好文 时间:
2018-04-24 13:58:22
阅读次数:
135
以下全部是笔记,不要看了 注意:要求的不是"有多少不同的子串是...",相同的要重复计算贡献。 例如: 3 2acaac答案是3 1 1 第一个串中两个a都出现了两次,c出现了两次,所以第一个的答案是3 广义后缀自动机模板。 各个串连起来中间加分隔符的不方便,一般都要加很多特判的。。。。 有的说不定 ...
分类:
其他好文 时间:
2018-04-06 13:54:51
阅读次数:
184
题目描述 给出 $S$ 串和 $m$ 个 $T_i$ 串,$q$ 次询问,每次询问给出 $l$ 、$r$ 、$x$ 、$y$ ,求 $S_{x...y}$ 在 $T_l,T_{l+1},...,T_r$ 中的哪一个里出现次数最多,输出出现次数最多的串编号(如果有多个则输出编号最小的)以及相应出现次数 ...
分类:
其他好文 时间:
2018-04-04 23:14:59
阅读次数:
259
题目 "题目在这里" 思路&做法 我们先对标准作文库建广义后缀自动机。 然后对于每一篇阿米巴的作文, 我们首先把放到广义后缀自动机跑一遍, 对于每一个位置, 记录公共子串的长度$($即代码和下文中的$val$数组$)$ 接着我们二分答案, 用DP检验。 Dp方程很好想, $ d_i = max \{ ...
分类:
其他好文 时间:
2018-04-04 18:04:07
阅读次数:
145