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

Daily Prob 5

这次不是什么级数求和了。


对于一个有根树,我们如下定义重链剖分:

对于每个点 \(a\),找到子节点中子树大小最大的那一个(如果有多个任取一个),记为 \(b\),然后将 \((a, b)\) 这条边设为重边。

不难发现重边会形成若干条链,称为重链。每个重链中离根最近的点称为重链顶。
接下来我们如下定义一次重链收缩:

重链剖分之后从下到上考虑每个点,若这个点向父节点的连边是重边,就删除这个点。
若连边不是重边,记为 \((a, b)\),就将 \(b\) 的父节点改为 \(a\) 所在重链的重链顶。

其实就是把所有重链顶都拿出来,保留祖先后关系建一个新的树。剩下的点都扔了。

不难发现一次重链收缩之后树的深度会变成 \(O(\log n)\)
接下来我们要证明:进行 \(B>1\) 次重链收缩之后树的深度是 \(O(\frac{\log n}{\log B})\),并且可以给出一个卡满的构造。


首先看上界证明。

考虑对于一个节点 \(a\) 和这个点的子节点 \(b\),不妨假设 \((a, b)\) 是重边。
那么不难发现在进行一次重链收缩之后 \(a\) 的其他子节点仍然不变,\(b\) 会被拆成若干小子树,且每个大小都不超过 \(\frac{size(b)}{2}\)

因此我们可以考虑将所有子节点子树按照 \(rnk(b) = \log size(b)\) 分组,每次我们会选 \(rnk\) 最大的子树,然后拆成一系列小的,大小和不超过 \(size(b)\)\(rnk\) 不超过 \(rnk(b) - 1\)
考察当我们枚举到 \(rnk = r\) 的子树的时候,由于总大小不会超过 \(size(a)\),所以数量不会超过 \(\frac{size(a)}{2^r}\)
因此进行 \(B\) 轮操作之后我们可以保证最大的 \(rnk\) 不超过 \(\log size(a) - \log B\)

也即,最后每个节点 \(a\) 的子节点子树大小都不会超过 \(\frac{size(a)}{B}\)
那么自然树的深度不超过 \(\frac{\log n}{\log B}\)


然后是构造。
考虑构建一个满 \(B+1\) 叉树即可。
那么对于每个非叶子,至少会存在一个子节点,使得这 \(B\) 次重链收缩都没有影响这两个点之间的边。
我们可以将其称为原始边。
所以从根一路走原始边一定可以走到叶子。并且这条链在这 \(B\) 次操作里面没有被动过。
所以深度和最初的树是一样的。
我们知道满 \(B\) 叉树深度是 \(\Theta(\frac{\log n}{\log B})\),所以就卡满了。


不难发现这个构造实际上适用于各种剖分方式。
也就是说无论以什么样的策略进行剖分,进行 \(B\) 轮之后的深度并不低于 \(\Omega(\frac{\log n}{\log B})\)
所以目前来看多次剖分什么的前途不是很大。


挂一个 contribute

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

相关文章:

  • Applite:终极Mac软件管理神器,让Homebrew图形化操作如此简单
  • 阿里云渠道商:轻量服务器远程协作性能优化指南
  • 如何实现 “右移”的智能监控,快速定位和恢复线上事故?
  • 我发现图神经网络补全罕见病知识图谱基层漏诊率骤降
  • 在React Native中实现鸿蒙跨平台开发分享功能,你可以使用`react-native-share`库,这个库支持多种分享方式,包括文本分享、图片分享,甚至是文件分享
  • BetterNCM插件完整使用指南:从入门到精通的网易云音乐体验升级
  • 终极指南:如何用wps-view-vue轻松实现WPS文档在线预览功能
  • 大模型薪资揭秘:百万年薪是主流,千万年薪是特例,收藏这份务实指南
  • 在一个事务里面死循环select一条数据,当我开启事务时,数据是1,每过5秒我就select一次,这个时候mybatis的一级缓存起作用了,所以不会去数据库查数据,等别的线程更新了数据表的数据,会使m
  • 在DevSecOps中,如何将安全测试(SAST/DAST等) 无缝集成到CI/CD流水线?
  • 3分钟掌握AI视频字幕去除:开源神器video-subtitle-remover完全解析
  • AI大模型落地指南:十大行业案例详解,程序员必收藏
  • 元胞自动机Python康威生命游戏
  • 四步重塑小米AI音箱:从语音助手到全屋智能中枢的进化之路
  • Set和Get访问器and构造函数(析构函数)
  • 婚礼誓词撰写:LobeChat见证幸福时刻
  • vueproject
  • 如何突破信息差诅咒
  • Prompt Tuning
  • 【强烈推荐】LangChain教程:Java开发者大模型应用开发宝典
  • ncmdumpGUI:网易云音乐ncm格式转换的终极解决方案
  • 大数据生态核心组件语法与原理入门
  • OBS Studio直播画质调优实战:从新手到专业的视觉进阶指南
  • 基于 GEE 使用 Sentinel-2 遥感影像数据反演水体叶绿素 a 质量浓度
  • SMUDebugTool深度解析:Ryzen系统性能调优完全指南
  • 雷科电力-REKE直流高压发生器
  • Beyond Compare 5快速授权终极指南:完整解决方案
  • 绝区零一条龙:新手快速入门完整指南
  • 4、图形编辑:画笔、图案与选区的深度应用
  • 抖音视频批量下载终极指南:新手也能3分钟搞定