https://www.luogu.com.cn/problem/P3346 广义后缀自动机 我们需要把所有两两叶子节点之间的路径丢进广义后缀自动机中,然后计算不同子串个数 观察数据,叶子节点数为$\le 20$,好像有点小 那么我们暴力枚举每个叶子节点为根的情况,然后处理根与其他叶子节点的路径 认 ...
分类:
其他好文 时间:
2020-07-23 22:29:56
阅读次数:
65
给定 $n$ 个由小写字母组成的字符串 $s_1,s_2\ldots s_n$,求本质不同的子串个数。(不包含空串) ...
分类:
其他好文 时间:
2020-07-12 18:26:50
阅读次数:
49
SAM的毒瘤题,倍增来满足长度限制,线段树合并来求区间询问,应有尽有。 ...
分类:
其他好文 时间:
2019-12-22 12:36:33
阅读次数:
103
"bzoj" "Luogu" 题解时间 给你个无根trie树(你管这叫trie树?),问你选取一条有向路径能形成多少种不同字符串。 __太阳花田的结构比较特殊,只与一个空地相邻的空地数量不超过20个。 只有不超过20个叶子。__ 纯粹看你读题的,你要是读错了这句话的含义你就白给。 如何保证完整枚举这 ...
分类:
其他好文 时间:
2019-12-22 10:47:38
阅读次数:
66
解法1:后缀自动机 解法1.1用串1建后缀自动机,用串2匹配。并记录能匹配的长度。匹配成功+1,否则变为maxlen[最后fail到的位置]+1。 解法1.2串一先加,然后加入'#‘。再加串2.加串2的时候,如果新得到的节点的slink在一串,则说明出现了2次。 解法1.3.建立广义后缀自动机,用数 ...
分类:
其他好文 时间:
2019-05-03 16:06:40
阅读次数:
119
题目:http://codeforces.com/contest/316/problem/G3 对询问串和模式串一起建一个后缀自动机,做出在每个串上的 right 集合大小之后枚举自动机上的每个点看看是否合法即可(合法的话,贡献是 len[ cr ] - len[ fa ])。 注意做出拓扑序后用的 ...
分类:
其他好文 时间:
2019-03-27 21:22:30
阅读次数:
181
题目描述:给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 输入输出格式输入格式:两行,两个字符串 s1,s2,长度分别为n1,n2。1 <=n1, n2<= 200000,字符串中只有小写字母 输出格式:输出一个整数表示答 ...
分类:
其他好文 时间:
2019-01-20 00:58:11
阅读次数:
182
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4566 建出两个串的广义后缀自动机; 统计每个点在两个串中出现次数的子树和,其实就是在两个串中的 right 集合大小; 然后统计答案乘起来即可。 代码如下: ...
分类:
其他好文 时间:
2019-01-19 12:19:45
阅读次数:
207
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4566 每个后缀结尾处 ct[ ] = 1 ,按拓扑序 dp 一下就能求出 right 集合的大小。自动机上每个点的贡献就是 ( l [cr]-l [fa] ) * ct[0][cr] * ct ...
分类:
其他好文 时间:
2019-01-19 12:11:51
阅读次数:
174