字符串合集
Problem A. P7409 SvT
题意:
给定一个长度为
解法:
刻画后缀 LCP 的常见做法有很多。
一个做法是,考虑后缀排序,根据 SA 相关结论,两个后缀的 LCP 等价于区间
另一方面,仍然考虑 SA,但是将区间
不用 SA,直接考虑后缀树。容易发现后缀 LCP 等于后缀树上 LCA 到根路径长,进一步等于反串 SAM 的 Link 树上 LCA 的等价类最大长度。所以同样对询问点建虚树即可。
Problem B. CF1090J Two Prefixes
题意:
给定字符串
解法:
假设
考虑对于每个本质不同字符串,在最小的
不难发现对于每个
将
实际实现中不需要显式建树。
Problem C. CF1393E2 Twilight and Ancient Scroll (harder version)
题意:
给定
解法:
DP 状态是简单的,记
考虑转移时有
排序部分是
进一步,容易知道二分哈希部分可以直接使用 SA 维护。使用线性 SA 维护手段理论可以做到线性。
Problem D. [ARC060F] Best Representation
题意:
给定一个长度为
解法:
简单无脑做法是直接
其实这是一个诈骗题。
下文称非自身整周期为非平凡整周期。
考虑一些简单情况。若
手玩下其他情况,根据我们敏锐的直觉,我们断言其他情况下最小分段数量为
结论
一个串有非平凡整周期等价于最小非平凡周期为整周期。
证明:
右推左显然,考虑左推右。
考虑证明逆否命题:如果一个串最小非平凡周期不是整周期,则其必然不存在非平凡整周期。
假设长度为
的字符串 有最小非平凡周期 ,若 ,显然成立。否则考虑若存在非平凡整周期 ,有 ,则 ,根据弱周期引理,存在长度为 的周期。若 ,与 为最小非平凡周期矛盾。若 ,则 ,由于 ,所以 ,与假设矛盾,故不存在非平凡整周期。 证毕。
写一下其实就能过了,问题是为什么答案为
事实上,除了特殊情况,有除了
结论
若一个长度为
的字符串 存在最小非平凡整周期且最小整周期长度大于 ,则删去最后一个字符,其必然不存在非平凡整周期。
证明:
我们考虑反证。考虑整个字符串
有最小非平凡整周期 ,假设 有最小非平凡整周期 ,显然 也为 的一个周期。此外有 和 ,则有 。根据弱周期引理,我们得到 有一个长度为 的周期。由于 是最小非平凡整周期, ,故 。由于 ,所以 。但是 又是 的整周期,所以 ,所以 ,与最小整周期长度大于 矛盾。 证毕。
综上,这种情况下最小分段数量为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现