LOJ #2802. 「CCC 2018」平衡树(整除分块 + dp)
题面
题面有点难看。。。请认真阅读理解题意。
转化后就是,给你一个数 ,每次选择一个 将 变成 ,到 停止。
求一共有多少不同的操作序列,也就是操作次数不一样或者某次操作的 不相同。
题解
首先考虑 dp ,令 为以 为开头的不同操作序列数。
显然有一个转移:
边界为 。
显然这个式子能用整除分块来进行优化,就是对于 相同一起处理,很容易发现这些 也是相同的。
这是因为
证明是很显然的。
所以有用的 总共只有 个。
那么我们记忆化搜索即可,然后用一些对于这个利用整除分块的常用标号的方式。
也就是 用 , 用 。
不断递归下去就行了,深度是 的。
然后复杂度?不会证。这是个整除分块套整除分块。。
著名 OI 选手 zhou888 口胡证明是 的。
总结
要相信分块套起来的复杂度,然后记忆化的时候最好手写哈希,或者用一些特殊性质,常数能小很多。
代码
__EOF__

本文作者:zjp_shadow
本文链接:https://www.cnblogs.com/zjp-shadow/p/9490432.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zjp-shadow/p/9490432.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】