随笔分类 - 后缀自动机 SAM
摘要:洛谷传送门 考虑对反串建 SAM,设 \([i, n]\) 的后缀对应 SAM 的点是 \(a_i\)。 那么 \(\text{lcp}(s[i : n], s[j : n]) = \text{len}(\text{lca}(a_i, a_j))\)。 于是问题变成了,给定一些点,统计两两 \(\t
阅读全文
摘要:洛谷传送门 区间本质不同子串个数。 考虑类比区间数颜色。扫描线扫询问的 \(r = i\),然后对于一个 \(i\) 的后缀 \(S[j : i]\),我们把它上一次出现时的左端点位置 \(-1\),现在的左端点位置(即 \(j\))\(+1\)。那么查询就是 \([l, r]\) 的区间和。 考虑
阅读全文
摘要:洛谷传送门 考虑两个 \(\text{lcs}\) 为 \(t\) 的前缀 \([1, i]\) 和 \([1, j]\)。我们发现可能的左端点取值为 \(\min(|i - j| - 1, t)\)。 考虑建出 SAM。那么两点的 \(\text{lca}\) 的 \(\text{len}\) 就
阅读全文
摘要:洛谷传送门 CF 传送门 首先对 \(s\) 建 SAM,设 \(m = |t|\),然后考虑断环为链,把询问串 \(t\) 再复制一份拼接在后面,然后相当于问现在 \(t\) 的所有长度为 \(m\) 的本质不同子串在 \(s\) 中的出现次数之和。 考虑枚举子串的右端点,维护当前在 SAM 上的
阅读全文

浙公网安备 33010602011771号