当前位置: 首页 > news >正文

点分治

下文可能会出现一些把点分治叫成淀粉质的情况。

事情都要从学长让我写一些神秘题开始说起,然后发现我不会点分治了,于是严肃加训。

基础

首先考虑分治是一个什么东西。就是每次找一个端点,然后计算跨端点的贡献。同时,选择的这些端点具有某些特殊性质,以保证递归层数不会太多,进而每层内可以遍历区间内所有元素,去计算一些信息。

不难发现,这样计算是不重不漏的(可能需要特判 \(l=r\) 的贡献,这个一定不能忘记)。

在树上,我们也可能会遇到一些这一类的问题,那么,我们能不能把这种策略搬到树上呢?

显然是可以的。下面我们引入一些例题。

P4178

计算点对数量这个东西,按照上面的策略来说,我们应该让它跨过已些东西计算,同时保证跨的这些点有一些良好性质。

于是,对于一个分治中心 \(u\),我们只去计算跨过 \(u\) 的点对的贡献。同时,为了防止出题人给我们一条链把我们创飞,我们需要每次选择子树内重心当作分治中心。

接下来考虑在每一层内把所有点待算点全都挖出来,然后按距离排序,夹逼双指针即可。这样是两只 \(\log\) 的,显然能过。

这里显然你不能选择自己和自己作为一个点对,所以不需要特判。

代码细节非常多,可以参考实现(虽然好像没 AC 看不到,但是扔剪贴板里可能被我哪天删了())。

也许是一份参考实现

http://www.jsqmd.com/news/194547/

相关文章:

  • Flutter 页面为什么会频繁 rebuild?如何定位和优化?
  • 《法网破晓》《两个她》同日开机 法治现实与女性悬疑双线并行
  • 高效管理临时文件:自动化方案全解析
  • AI记忆系统完全指南:从入门到精通,让你的大模型不再“失忆“!小白程序员也能秒懂的智能体记忆架构实战
  • AI写作助手测评:谁是最强创作大脑?
  • 学长亲荐10个AI论文平台,专科生轻松搞定毕业论文!
  • 【Week 1, 2026】每周阅读三篇论文
  • 78页神级文档!AI Agent让小白程序员逆袭大厂,从“能写代码“到“能解决问题“,大模型时代必备技能!
  • 使用 Python 调用 Rust 的三种方法
  • Bug侦探社:悬案破解实战手册
  • win11蓝屏dump日志无法定位到具体应用终极解决方案
  • 上银KK模组正品渠道在哪?无一级代理专属经销商技术支持靠谱吗?
  • Anaconda加速AI训练:从环境配置到性能优化
  • 硬核干货!5分钟从零构建AI智能体:大模型开发者的进阶秘籍,小白也能秒变Agent大神!
  • ELK日志分析平台搭建实战:从日志混乱到一目了然 - 详解
  • PS 样式参考:3D 白模直接出原画?概念美术的“光影魔术手” - 详解
  • 李飞飞Agent论文硬核解读!3小时从小白到大神,附超全Agent开发指南
  • 2026最新地板清洁液/洗衣片/洗地机清洁剂/多功能清洁剂/厨房清洁剂企业首要推荐广州亿通生物技术有限公司:实力代加工企业,品质洗护优选 - 全局中转站
  • 关于UE5只有透视图有显示,其他视图出现空白的问题
  • LeetCode 465 最优账单平衡
  • 企业级 MySQL 8.0 物理备份实践:使用 XtraBackup 实现全量与增量自动备份
  • 双碳目标下综合能源系统低碳运行优化调度Matlab实现
  • 2024年五大颠覆性技术趋势
  • “救命!代码写不动了?Agent技术让小白程序员秒变大神,2小时掌握AI编程黑科技!“
  • ssh+tmux实现socket命令行交互
  • word将所选内容超链接为文章其他内容
  • C++ 入门导引
  • http通信鉴权(三)基于 Session + CSRF Token 的 Cookie 认证
  • AI Agent太香了!给大模型装上“记忆+规划+手脚“,编程小白也能秒变效率大神!
  • 2026最新多功能清洁剂工厂top5推荐榜,广东广州等地优质公司及批发源头厂家深度解析/选择指南 - 全局中转站