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

树剖

接dfs序。 https://www.cnblogs.com/ybjnb/p/19089551
树剖 (dfs序的性质依旧满足 即子树也是一段连续区间)

  1. 将一颗树转化为一个序列
  2. 将树上任意一条路径转化成 log(n) 段连续区间
    然后就可以用序列数据结构维护信息。
    对于u节点 他有子树y1, y2, y3...yk。 考虑将其中siz[yi]最大的那颗子树称之为重儿子。 若有相同任意即可
    重儿子和父节点的连边叫做重边, 其余叫做轻边
    重链: 极大的仅由重边构成的路径
    每个点都在一条重链里面。
    重儿子在他父亲的那一条重链
    轻儿子在以他为开头的往下走的那条重链 (5, 8单独就是一条重链)
    image
    给每个点的编号就是dfs序, 不过dfs时要优先遍历重儿子。
    一条结论:这样编完号之后,树上任意一条路径都可以被转化成 O(log(n)) 段连续区间(重链)。 (最上面的重链可能不完整)
    优先遍历重儿子可以保证每条重链的编号是连续的。
    第一次dfs得到重儿子, 第二次dfs得到dfs序(标记每条重链 标记每个点所在的重链的顶点)
    如何将一条路径转化成若干区间呢?
    x y谁的dep深谁就往上跳重链 直到相汇
    image
http://www.zskr.cn/news/41263.html

相关文章:

  • 如何降低大模型幻觉
  • 多智能体架构中 如何解决总控agent路由错误的问题
  • 回归(监督学习)
  • 100小时学会SAP—问题3:成本控制控制凭证的编号范围
  • 牛客2025秋季算法编程训练联赛4-提升组
  • 随机数板子 - miao
  • 在React中实现路由跳转
  • 022304105叶骋恺数据采集第二次作业
  • 2025.11.5模拟赛
  • WordPress Social Feed Gallery插件未授权信息泄露漏洞分析
  • 2025-11-3
  • 2025-11-2
  • 网页打包EXE/APK/IPA出现乱码时怎么回事?
  • Ai元人文:个人阐述疏漏声明与系统性术语修正说明
  • 第一天笔记
  • quick save
  • Codeforces Global Round 28 VP 记录
  • 软件工程团队项目第一次作业
  • 开源一个月Star破7000+!RustFS凭什么火出圈?
  • 日总结 22
  • 重组抗体:从 “天然提取” 到 “基因定制”,抗体技术如何改写生物医药格局?
  • 高性能计算-CUDA-mma PTX 指令行为分析
  • CSP - S 2025 游记
  • [KaibaMath]1019 关于收敛数列拉链定理的证明
  • zMWVIFEk0nKBm5kxQFHLdNaPTtQ=
  • 20251105
  • 2025.11.5博客
  • 郑州西亚斯学院举办智能体创新大赛
  • 课后作业(异常捕获)
  • CSP 2025 游记总结