当前位置: 首页 > 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.jsqmd.com/news/32640/

相关文章:

  • 100小时学会SAP—问题5:SAP导航菜单字体突然变小
  • 如何降低大模型幻觉
  • 11月5日---学习总结
  • 11-2
  • 100小时学会SAP—问题4:ME21N创建采购订单报错
  • 11-1
  • 多智能体架构中 如何解决总控agent路由错误的问题
  • 回归(监督学习)
  • 100小时学会SAP—问题3:成本控制控制凭证的编号范围
  • 10-20
  • 10-25
  • 10-24
  • 10-23
  • 10-17
  • 100小时学会SAP—问题2:FB70运行时提示在表T030B中AGD输入丢失
  • 10-19
  • 10-18
  • 牛客2025秋季算法编程训练联赛4-提升组
  • 11.05记录-机器学习
  • Day14综合案例一--热词
  • 机器学习-逻辑回归算法-基础数学原理版代码
  • 测试理论知识
  • 100小时学会SAP—问题1:FB50 做总账凭证时提示过账码没有定义
  • 模拟赛记录 11/5
  • Win11 改虚拟内存到C盘之外的盘 - Leone
  • 随机数板子 - miao
  • CSS元素定位
  • 题解:P13933 [蓝桥杯 2022 省 Java B] 最大子矩阵
  • 深度学习非专业解释
  • 内存管理-50-可读性-1-page_flags.h - Hello