找回密码
 立即注册
首页 业界区 安全 【A】字符串

【A】字符串

吟氅 7 小时前
P4696 [CEOI 2011] Matching

要求子串内的相对大小顺序,类似定义 border,那么可以树状数组求 rnk,然后 kmp 处理。
求 rnk 有点浪费,不如考虑每次加入一个数的时候检查插入到的那个 \(aB\) 的串至多有 \(\frac{L}{B}\) 个,且至多在 \(\frac{L}{B}\) 个串中出现过,则有 \(LB+\frac{L^2}{B^2}\le L^{\frac{4}{3}}\)。
则对于所有询问,\(c_i>0\) 的位置只有 \(O(L^{\frac{4}{3}})\) 个。
那么我们每次暴力建出虚树然后往上合并 \(occ\) 即可。
CF710F String Set Queries

二进制分组建 ACAM,然后开两个去维护所有串和删除的串。
CF1483F Exam

ACAM,每个 \(s_i\) 的前缀只会至多找到一个最长的 \(s_j\) 是可能造成贡献的。
那么要求一个 \(s_j\) 没有被后面的 \(s_j'\) 覆盖即可。倒着扫一遍就可以求出来了。
>.

相关推荐

您需要登录后才可以回帖 登录 | 立即注册