摘要:
其实很水的一道题吧.... 题意是:每次给定一个串$T$以及$l, r$,询问有多少个字符串$s$满足,$s$是$T$的子串,但不是$S[l .. r]$的子串 统计$T$本质不同的串,建个后缀自动机 然后自然的可以想到,对于每个$T$的子串,它对应了一个$right$集合 那么,它应该会被这个$r 阅读全文
摘要:
暴力枚举,然后$hash$表判断 复杂度$O(26 20 n)$ 具体而言 对于操作1:暴力枚举删除 对于操作2:暴力添加,注意添加不要重复 对于操作3:暴力替换,同样的注意不要重复 阅读全文
摘要:
首先有朴素的$O(n^2)$想法 首先枚举断边,之后对于断边之后的两棵子树求出直径 考虑优化这个朴素的想法 考虑换根$dp$ 具体而言,首先求出$f[i], fs[i]$表示$i$号点向下的最长链以及$i$号子树内部最长的直径 并且在求出$g[i]$表示$fa[i]$在$i$号节点子树外的最长链 $ 阅读全文
摘要:
看着就像后缀自动机.... 然后搜了一下,网上一大把的$AC$自动机 嗯...... 不管了,打一个试试 然后就过了$QAQ$ 我们考虑对于每个点$i$求出它往前最长能匹配的子串的长度 可以对街道串建出后缀自动机 把所有的$L$在后缀自动机上走 走到的串就打个标记,最后顺着$parent$树下传一遍 阅读全文