随笔分类 -  做题记录

上一页 1 ··· 22 23 24 25 26
摘要:洛谷传送门 LOJ 传送门 思路 对 $S_1,S_2,...,S_n$ 建出 AC 自动机并建出 $\mathrm{fail}$ 树。对于每次新加入的 $P$,考虑计算它对答案的贡献。 考虑在 AC 自动机上匹配的过程。加入一个 $P$,设它在 AC 自动机上从根结点开始的链经过 $p_1,p_2 阅读全文
posted @ 2022-07-02 22:25 zltzlt 阅读(66) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 思路 **引理:**设 $f(x)$ 为 $x+1 \sim 2x$ 中二进制表示恰好含有 $k$ 个 $1$ 的数的个数,则对于任意 $x\ (x \ge 1)$,都有 $f(x) \le f(x+1)$。 证明:$f(x)$ 表示 $x+1 \sim 2x$ 中二进制表 阅读全文
posted @ 2022-07-02 18:09 zltzlt 阅读(36) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 KMP 好题。 思路 合法的子区间其实就是原串的 $\mathrm{border}$,考虑维护 $\mathrm{border}$ 的集合。每次加入一个字符,就保留原来合法的 $\mathrm{border}$ 并加入新的合法 $\mathrm{border}$(如果 $s 阅读全文
posted @ 2022-07-02 12:42 zltzlt 阅读(43) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 比 CF547E 略难的字符串好题。 思路 首先令 $m = \sum\limits_{i=1}^n |s_i|$。 设 $a_i$ 为第 $i$ 个字符串在 AC 自动机上的终止结点。考虑在 AC 自动机上匹配的过程,$x$ 在 $y$ 中出现的次数就相当于在 Trie 阅读全文
posted @ 2022-07-01 22:59 zltzlt 阅读(52) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 思路 类比 洛谷 P2414 / LOJ 2444 「NOI2011」阿狸的打字机 。如果做过那题,那这题就很简单了。 首先把 $[l,r]$ 拆成 $[1,l-1]$ 和 $[1,r]$。设 $a_i$ 为第 $i$ 个字符串在 AC 自动机上的终止结点。仍然考虑在 AC 阅读全文
posted @ 2022-06-26 15:20 zltzlt 阅读(21) 评论(0) 推荐(0)
摘要:洛谷传送门 思路 注意到只要字符串出现的相对位置匹配就行。设 \(a_i,b_i\) 分别为明文/密文中第 \(i\) 个字符串与上一个跟它相同的字符串隔了几个单词(若该字符串第一次出现则设为 \(+\infty\))。然后直接 KMP。注意可能有这种情况:明文为 c (a b c)、密文为 x y 阅读全文
posted @ 2022-06-26 14:08 zltzlt 阅读(137) 评论(0) 推荐(0)
摘要:洛谷传送门 LOJ 传送门 CF Gym 传送门 思路 先建出来原来 \(n\) 个串的 Trie,再对询问串的反串建 AC 自动机,则一个串 \(S\) 在 AC 自动机上的所有后缀就是不断跳 \(\mathrm{fail}\) 直到根结点。建出 \(\mathrm{fail}\) 树后统计子树和 阅读全文
posted @ 2022-06-26 13:31 zltzlt 阅读(48) 评论(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 阅读(36) 评论(0) 推荐(0)
摘要:洛谷传送门 思路 首先发现,题中所述的 \(\mathrm{border}\) 就是 KMP 中的 fail。求两个前缀的公共 \(\mathrm{border}\),就是跳到最大的公共的 \(\mathrm{fail}\)。 因此建出 \(\mathrm{fail}\) 树,则每次询问跑一遍 LC 阅读全文
posted @ 2022-06-22 14:03 zltzlt 阅读(57) 评论(0) 推荐(1)
摘要:洛谷传送门 CF 传送门 思路 首先如果给出的位置合法(即不会有重叠部分不相同的情况),答案为 $26^c$,$c$ 为未填的字符数量。 于是本题的重点是判断是否有重叠部分不相同的情况。不难发现我们只用检验相邻的位置重叠部分是否相同。$i \in [2,n]$,令 $d = a_i - a_{i-1 阅读全文
posted @ 2022-06-22 13:52 zltzlt 阅读(41) 评论(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 阅读(60) 评论(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 阅读(54) 评论(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 阅读(48) 评论(0) 推荐(0)
摘要:洛谷传送门 LOJ 传送门 思路 首先套路地建 AC 自动机,并存下每一行的终止结点,记为 \(a_x\)。 考虑在 AC 自动机上匹配的过程,\(x\) 在 \(y\) 中出现的次数就相当于在 Trie 树上 \(a_y\) 到根结点的链上,每个结点都不断跳 fail,有多少个结点是 \(a_x\ 阅读全文
posted @ 2022-06-22 07:48 zltzlt 阅读(59) 评论(0) 推荐(0)
摘要:洛谷传送门 LOJ 传送门 思路 令 \(|S| = n\)。首先求出 \(S\) 的 \(\mathbf{Z}\) 函数数组 \(nxt\),考虑将 \(AB\) 视作一个整体的循环节,那么长度为 \(i\) 的循环节最多可以接上 \(\left\lfloor\dfrac{nxt_{i+1}}{i 阅读全文
posted @ 2022-06-21 20:41 zltzlt 阅读(137) 评论(0) 推荐(0)
摘要:洛谷传送门 SPOJ 传送门 题意 给定 \(N\) 个非负整数 \(A_1,A_2,...,A_N\) 和 \(Q\) 组询问 \((v_j,a_j,b_j)\),对于第 \(j\) 组询问,你需要回答满足 \(1 \le l \le r \le N\) 且 \(a_j \le r - l + 1 阅读全文
posted @ 2022-06-21 12:34 zltzlt 阅读(87) 评论(0) 推荐(0)
摘要:洛谷传送门 LOJ 传送门 思路 设出现字符串的 \(V_i\) 可重集为 $S = {w_i},$令 \(ans = \sqrt[c]{\prod\limits_{i=1}^c w_i}\)。 直接求 \(ans\) 的最大值不好处理,考虑两边取对数。 \(\ln ans = \dfrac{\su 阅读全文
posted @ 2022-06-21 08:50 zltzlt 阅读(64) 评论(0) 推荐(0)

上一页 1 ··· 22 23 24 25 26