摘要:
"题意" 显然这个$L$是可以二分的,我们只需要判断$L$是否合法即可。 显然有一个$O(n^2)$的DP: 设$f_i$表示当前匹配到$i$的最大匹配长度。 $f_i=max(f_j+i (j+1)+1)\ j\in[i match_i,i L]$ 其中的$match_i$表示前缀$i$能和文本库 阅读全文
摘要:
"题意" 关于回文自动机的讲解见 "这里" 由于回文串个数是$O(n)$的,直接回文自动机上统计并比较即可。 code: 阅读全文
摘要:
"题意" 不妨先考虑$l=1,r=|S|$的情况: 这时我们要求的其实是$S,T$的本质不同的公共子串数量。 首先对$S$建一个后缀自动机,同时对于每个$T$,我们也建一个自动机。 根据后缀自动机的性质,后缀自动机的所有节点的代表的字符串的集合代表了$T$的全部子串,因此我们可以考虑$T$后缀自动机 阅读全文
摘要:
"题意" 学习了广义后缀自动机。 广义后缀自动机与普通后缀自动机的区别在于它是对多个串建的,于是可以处理多个串。 广义后缀自动机和普通后缀自动机的区别在于两个特判,可以见 "这篇题解" 对于这题,因为叶子数量小于20,以每个叶子为根跑dfs,将跑到的字符串插入SAM即可,求不同子串个数是SAM的常规 阅读全文