Border 理论
cnmd,扫盲。
要开字符串,然而 Lyndon 分解不光大毒瘤而且似乎没什么大用。因此换个方向,来记点结论。应用到时候再开一个。先把结论都记在这里,以后用的时候直接指路过来。
周期和 border
若
若
容易发现结论:
Weak Periodicity Lemma
若
证明:不妨设
: 。 : 。
而由
还有更强的结论(Periodicity Lemma):
几个奇异结论
- 定理:若
,则 在 中出现位置为等差数列。
仅讨论匹配次数达到
假设
显然
若等差数列至少
由此我们有引理:
- 字符串
的所有长度不小于 的 border 长度组成等差数列。
证明:设长度最大的为
- 一个串
的所有 border 按长度排序后可以分成 段,每段是个等差数列。
证明:首先把长度达到一半的 border 划一个等差数列。考虑它们之中长度最小的,长度一定小于
一个更好的界是
经典例题:[WC2016]论战捆竹竿
另外的应用:单次在线
回文 border
- 定理:回文串的回文后缀(或者前缀)就是 border。
显然。因此有推论:一个字符串的所有回文后缀的长度可以表示为
- 定理:回文串
有周期 ,则一个循环节可以拆成两个回文串,且长度分别为 。
证明可以自己画图。也挺显然。
- 定理:设
为回文串 最长回文前/后缀,若 ,则 只会在 中匹配这两次。
不是很显然。证一下。
首先
最小后缀
一些定义:
记
记
记
- 定理:对于任意两个
, 则 为 前缀。
显然。
- 定理:若两个
满足 ,则 。
证明不会。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现