2023.12.22 闲话
突然发现好像我是信仰这种模拟赛模式的:
(此处应有一些问号或者同义短语)
哈哈哈我要学 lyndon word。。??。?
觉
歌:クチナシの木が朽ちる前に - ox feat. 琴葉茜・葵 .
你们海鲜曲花活这么多的吗 .
抱歉放了一个这种文本在闲话里,觉得这种东西新开一个博也不好,放日记里也不好,就放闲话了(难道闲话就是你的垃圾桶吗?可能吧。所以为什么闲话要不显示在主页呢?).
突然想放个目录(
Border Series
这不是一段 Border Theory 介绍文本,这里只会介绍一部分 Border 论的知识 .
border 和 period
定义一个字符串 的子串 是 的 border 当且仅当 且 既是 的前缀也是后缀 .
定义一个字符串 是 的周期 (period) 当且仅当存在正整数 使得 .
由于某些深刻的原因,一个字符串 的最长 border 和最小周期 有关系 .
也可以了解一下 WPL,毕竟后面有用:若 都为字符串 的周期,且 ,则 也是 的周期 .
border 的结构
定理: 的所有长度不小于 的 border 长度构成等差数列 .
简要证明:假设两个 border 的长度分别为 ,其中 是最长 border .
考察对应的 period 使得 ,则由 WPL 得 也是 period,从而存在长度为 的 border .
又 是最长 border,从而 ,也就是 ,从而可以导出等差数列 .
第二个定理: 的所有 border 长度构成 个等差数列 .
Cage:证明考虑切换 period 时,串长减半(???
简要证明:先把不小于长度一半的 border 分出来,然后取出最小 border ,可以通过讨论最小 period 和 的大小来导出 ,从而每次问题缩小 ,证明完毕 .
其实能证到 .
border 树链剖分
在 border 树上考察 border 等差数列的结构,可以将其划分为若干个等差数列链,一个结点不断向上跳只会引发 次切换,这就导出一种链剖分 .
例题:HNOI2019 JOJO .
Palindrome Series
回文串的回文后缀
注意到一个回文串的回文后缀也是它的 border,从而也可以构成 log 个等差数列 .
因为一节只有一句话不好,所以加个例题:
给一个字符串,每次查一个子串有多少种被分为两个回文子串的方法 .
建前缀后缀 PAM,枚举一侧等差数列的等价类 exgcd 解方程即可 .
时间复杂度带两个 log .
PAM 链剖分
注意 PAM 实际上是树而不是 DAG,所以链剖分是自然的 .
类似 border 树链剖分,对每个等差数列等价类划分为一条链,这样就得到了一种链剖分 .
一种常见应用是优化 DP,比如问划分为若干个回文串然后统计贡献什么的 .
例如我们现在要求字符串的回文划分数量,那么转移就是:
其中 是回文串的集合 .
维护每个点到链顶的 和,那么就可以和谐地转移所有信息了 .
详细说明及例题见 APJifengc 的博客 .
以下是博客签名,正文无关
本文来自博客园,作者:yspm,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/17919339.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】