随笔分类 -  AC 自动机

摘要:洛谷传送门 CF 传送门 区间显然不好处理,考虑转化成前缀和后缀。 设 \(f'_i\) 为 \(T[1 : i]\) 的单词出现次数,\(f_i\) 为 \(f'_i\) 的前缀和,\(g_i\) 为 \(T[1 : i]\) 后缀最长的单词编号。都可以通过建 \(s_i\) 正串的 ACAM 预 阅读全文
posted @ 2023-09-13 09:41 zltzlt 阅读(37) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 ACAM 好题。 考虑枚举长串,在长串上枚举短串的右端点。显然符合条件的短串为最长的串,也即在 fail 树上往上跳到的第一个为某个串结尾的串。 还要保证这个串不被其他的串包含,简单特判即可。 那么最后所有对答案造成贡献的短串为 算到次数 $=$ 在长串的出现次数 的所有短 阅读全文
posted @ 2023-03-02 10:23 zltzlt 阅读(38) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2022-07-18 20:05 zltzlt 阅读(0) 评论(0) 推荐(0)
摘要:洛谷传送门 思路 考虑建出 AC 自动机之后 dp。对于每一个人分别计算它的胜率,设当前计算到第 $i$ 个人的胜率,设 $f_u$ 表示当前在 AC 自动机上的 $u$ 号结点获胜的概率,对 AC 自动机上每个结点 $u$ 写出它的转移方程: 若 $u$ 为第 $i$ 个字符串的叶子结点,$f_u 阅读全文
posted @ 2022-07-18 16:17 zltzlt 阅读(84) 评论(0) 推荐(0)
摘要:洛谷传送门 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 传送门 比 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)
摘要:洛谷传送门 LOJ 传送门 CF Gym 传送门 思路 先建出来原来 \(n\) 个串的 Trie,再对询问串的反串建 AC 自动机,则一个串 \(S\) 在 AC 自动机上的所有后缀就是不断跳 \(\mathrm{fail}\) 直到根结点。建出 \(\mathrm{fail}\) 树后统计子树和 阅读全文
posted @ 2022-06-26 13:31 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 传送门 思路 设出现字符串的 \(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)