CDQ 分治学习笔记
1|0鲜花
开新坑。
早该卷卷了。
集训队论文自认为写的很清晰。
感觉对于一道自己进集训队时的国赛题能发明一种新做法很牛啊!
2|0简述
CDQ 分治是一种离线分治做法。
CDQ 分治并没有很固定的模板,这是一种分治思想的延伸。
对于一道带修的数据结构问题,我们可以将每个查询视作其之前修改对其造成影响的结果。
因此我们可以用一个数据结构进行初始化和所有修改后再进行查询其结果。
假设一个数据结构问题中有修改和查询的操作共 \(m\) 个。
令 solve(l,r)
函数为解决对于任意在操作 \(l\) 至 \(r\) 中的任意查询 \(i\),计算 \(\left[l,i\right)\) 对其造成的影响。
因此 solve(1,m)
即为我们的此题的目标。
在 solve(l,r)
中,令 \(mid=\left\lfloor\dfrac{l+r}{2}\right\rfloor\),先执行 solve(l,mid)
与 solve(mid+1,r)
,之后再考虑 \(\left[l,mid\right]\) 中的修改对 \(\left[mid+1,r\right]\) 中查询的影响。
以上即为 CDQ 分治的大体思路。
\(\left[l,mid\right]\) 中的修改对 \(\left[mid+1,r\right]\) 中查询的影响是解题的一个关键,有时也会运用 solve(l,mid)
与 solve(mid+1,r)
中的计算进行合并(如集训队论文中的 Cash 中的归并排序)。
3|0例题
在写了。
__EOF__

本文作者:LiJoQiao
本文链接:https://www.cnblogs.com/LiJoQiao/p/18500168.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/LiJoQiao/p/18500168.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)