摘要: 洛谷传送门 CF 传送门 思路 类比 洛谷 P2414 / LOJ 2444 「NOI2011」阿狸的打字机 。如果做过那题,那这题就很简单了。 首先把 $[l,r]$ 拆成 $[1,l-1]$ 和 $[1,r]$。设 $a_i$ 为第 $i$ 个字符串在 AC 自动机上的终止结点。仍然考虑在 AC 阅读全文
posted @ 2022-06-26 15:20 zltzlt 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 思路 注意到只要字符串出现的相对位置匹配就行。设 \(a_i,b_i\) 分别为明文/密文中第 \(i\) 个字符串与上一个跟它相同的字符串隔了几个单词(若该字符串第一次出现则设为 \(+\infty\))。然后直接 KMP。注意可能有这种情况:明文为 c (a b c)、密文为 x y 阅读全文
posted @ 2022-06-26 14:08 zltzlt 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 LOJ 传送门 CF Gym 传送门 思路 先建出来原来 \(n\) 个串的 Trie,再对询问串的反串建 AC 自动机,则一个串 \(S\) 在 AC 自动机上的所有后缀就是不断跳 \(\mathrm{fail}\) 直到根结点。建出 \(\mathrm{fail}\) 树后统计子树和 阅读全文
posted @ 2022-06-26 13:31 zltzlt 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 SPOJ 传送门 思路 看到去重想到离线。将所有询问按右端点升序排序。设 \(lst_i\) 为 \(a_j = a_i\) 且 \(j < i\) 的最大 \(j\),若不存在则 \(lst_i = 0\)。\(b_j\) 表示 \(\sum\limits_{k=j}^i a_k\), 阅读全文
posted @ 2022-06-26 13:04 zltzlt 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 思路 首先发现,题中所述的 \(\mathrm{border}\) 就是 KMP 中的 fail。求两个前缀的公共 \(\mathrm{border}\),就是跳到最大的公共的 \(\mathrm{fail}\)。 因此建出 \(\mathrm{fail}\) 树,则每次询问跑一遍 LC 阅读全文
posted @ 2022-06-22 14:03 zltzlt 阅读(39) 评论(0) 推荐(1) 编辑
摘要: 洛谷传送门 CF 传送门 思路 首先如果给出的位置合法(即不会有重叠部分不相同的情况),答案为 $26^c$,$c$ 为未填的字符数量。 于是本题的重点是判断是否有重叠部分不相同的情况。不难发现我们只用检验相邻的位置重叠部分是否相同。$i \in [2,n]$,令 $d = a_i - a_{i-1 阅读全文
posted @ 2022-06-22 13:52 zltzlt 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 CF 传送门 思路 题意相当于将 $S$ 表示成 $A^kB$($A^x = A^{x-1}A$,$A^0$ 为空串),其中 $B$ 为 $A$ 的前缀。 考虑枚举 $|A^k|$,设 $|A^k| = len\ (k\ |\ len)$,在 $[1,len]$ 中寻找长度为 $\dfr 阅读全文
posted @ 2022-06-22 11:20 zltzlt 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 思路 区间 dp。设 \(f_{l,r}\) 为子串 \([l,r]\) 压缩的最短长度,显然有 \(f_{l,r} \gets \min\limits_{i=l}^{r-1} f_{l,i} + f_{i+1,r}\)。还要考虑压缩 \([l,r]\) 的情况。 设 \(fail_{i 阅读全文
posted @ 2022-06-22 11:00 zltzlt 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 CF 传送门 思路 首先求出原串的 $\mathbf{Z}$ 函数数组 $nxt$,那么长度为 $n - i + 1$ 的前后缀满足要求当且仅当 $i + nxt_i - 1 = n$。 显然长度为 $i$ 的前缀的出现次数为满足 $nxt_j \ge i$ 的 $j$ 的个数,差分 + 阅读全文
posted @ 2022-06-22 08:08 zltzlt 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 LOJ 传送门 思路 首先套路地建 AC 自动机,并存下每一行的终止结点,记为 \(a_x\)。 考虑在 AC 自动机上匹配的过程,\(x\) 在 \(y\) 中出现的次数就相当于在 Trie 树上 \(a_y\) 到根结点的链上,每个结点都不断跳 fail,有多少个结点是 \(a_x\ 阅读全文
posted @ 2022-06-22 07:48 zltzlt 阅读(38) 评论(0) 推荐(0) 编辑