zoukankan      html  css  js  c++  java
  • 长链剖分学习笔记

    是什么

    树链剖分

    与轻重链剖分相似,只不过是按照深度进行剖分的

    它的应用与$ ext{dsu on tree}$十分相似,能高效合并子树的信息

    性质

    性质1

    所有链长之和为节点数

    证明:每个点在且仅在一条链中

    性质2

    任意一个点$k$级祖先所在长链的长度一定大于等于$k$

    假如$y$所在长链的长度小于$k$,那么它所在的链一定不是重链,因为$x−y$这条链显然更优,那么$y$所在的重链长度至少为$k$,性质成立。否则$y$所以在长链长度大于等于$k$,性质成立。

    性质3

    任意一个点跳重链到根所用的次数不超过$sqrt n$

    根据性质二,如果一个点从当前链跳到另一条链上,另一条链的长度大于当前链的长度

    所以最坏情况的链长为$1,2,3,cdots,sqrt n$共$sqrt n$次

    干什么

    高效计算$k$级祖先

    不会

    快速合并以深度为下标的子树信息

    这个这个

  • 相关阅读:
    SpringBoot整合jsp
    SpringBoot常用application.properties配置
    SpringBoot入门
    vue cli创建vue项目
    vue 指令
    vue hello
    pytest doc
    atom
    java csvutil
    Django uuidfield 实现自动生成唯一列,并设置为主键
  • 原文地址:https://www.cnblogs.com/cj-xxz/p/10234153.html
Copyright © 2011-2022 走看看