Cage 字符串听课笔记
困困困!
KMP
注意到 KMP 的复杂度是均摊的,那么是否可以绕开?
注意到 KMP 实际上一个串的 ACAM,那么考虑可以类似的,在加入一个字符的同时维护 ACAM(考虑 ACAM 的构建过程,前面的点不会被影响)那么每次就可以通过 的修改(或者利用可持久化数据结构达到 )
但是似乎还有不依赖字符集以及数据结构的做法。先导入一些定义,定理。
- border: 若 满足 那么 是 的 border。
- period: 若 ,那么 是一个周期。
如果存在长度为 的 border,那么存在长度为 的 period
Weak Period Theory
若 均为周期,那么 也为周期!
border 的 等差数列
话是说如果将一个串的所有 border/period 排序,那么可以划分为 个等差数列。
如何证明,考虑最长的 border,以及其对应的最小的周期。如果这个 border 长度 ,那么不断的减去这个周期就可以构造出新的 border。由于这个周期是最小的,所以中间不会有更多的 border 存在。
但是当这个串减到 那么此时可能存在新的 border 并不是由最大的那个减过来的。但是此时可以进入子问题,问题减半。
于是 border 可以划分为 个等差数列。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App