首页 > 其他分享 >长链剖分学习笔记

长链剖分学习笔记

时间:2023-04-20 16:36:05浏览次数:41  
标签:长链 cnblogs 剖分 笔记 重链 com 节点

一些定义

重子节点表示其子节点中子树深度最大的子结点

如果有多个子树最大的子结点,取其一。如果没有子节点,就无重子节点。

轻子节点表示剩余的子结点

从这个结点到重子节点的边重边

到其他轻子节点的边为 轻边

若干条首尾衔接的重边构成重链

把落单的结点也当作重链,那么整棵树就被剖分成若干条重链。

如图(这种剖分方式既可以看成重链剖分也可以看成长链剖分):

HLD

一些性质

性质 1

从一个节点到根的路径的轻边切换条数是\(\sqrt{n}\)级别的

证明:

(我感觉有点不是很沾边?)

长链剖分 - sun123zxy - 博客园 (cnblogs.com)

「算法笔记」长链剖分 - maoyiting - 博客园 (cnblogs.com)

感觉↑这个要有道理一点?

长链剖分学习笔记 - Ynoi - 洛谷博客 (luogu.com.cn)

这个↑比较严谨

性质2

对于树上任意一点\(x\),它的\(K\)级祖先\(y\)所在长链的长度一定\(≥K\)

证明:

①当\(x\)在\(y\)所在的长链中,\(x\to y\)的距离都为\(K\)了,那么\(y\)所在长链的长度肯定\(≥K\)

②当\(x\)不在\(y\)所在的长链中

我们首先考虑为什么\(x\)不在长链中,肯定是因为有其他儿子的深度更大

所以肯定存在一些长链上的节点到\(y\)的距离\(≥K\),因此\(y\)所在长链的长度\(≥K\)

证毕。(这不是显然吗)

求解

其实跟重链剖分很像

就把大小\(size\)改成深度\(dep\)就

标签:长链,cnblogs,剖分,笔记,重链,com,节点
From: https://www.cnblogs.com/yvette1217/p/17337286.html

相关文章

  • 51单片机学习笔记 STC89CRC (03)蜂鸣器和三级管
    蜂鸣器根据工作原理的不同可分为"电磁式蜂鸣器"和"压电式蜂鸣器"蜂鸣器根据驱动方式可分为"有源蜂鸣器"和"无源蜂鸣器"有源蜂鸣器:一通电就会叫无源蜂鸣器:必须用2k~5k的方波去驱动它 三极管直插式封装TO-92:面向三极管平的一面,从左往右数1.发射极2.基极3.集电极......
  • 电脑做笔记用什么软件好
    在电子信息化时代,绝大多数的上班族和相当一部分的大学生都会使用电脑来办公或学习。而想要在电脑上记录各种常用的信息、注意事项、感想感悟等内容,使用一款笔记软件来分类记录是比较方便的,这样不仅可以实现分散信息的整合,而且更加方便我们随时修改编辑、删除、分享等。那么在电......
  • git 搭建服务器笔记
    评:-----------1服务器安装git----------1.在有yum的系统上(比如Fedora)yuminstallcurl-develexpat-develgettext-devel\openssl-develzlib-devel2.下面的Git官方站点下载最新版本源代码:http://git-scm.com/download3.编译并安装:$tar-zxfgit-1.7.2.......
  • 小米AIoT SRE龚同学入职阅博笔记——SRE入门
    为了让团队同学对SRE有个统一的认识,有一些共同的套路和章法,尽量避免在工作中产生价值观和工作思路的矛盾,我一般会让新入职的同学读一下《入职必读》的几篇博客,1是提前对我们有个了解,2是告诉他们我们这的SRE要做什么和怎么做,3是便于入职后快速融入工作、团队,减少矛盾提高协作效率,最......
  • Nacos笔记(五):Nacos集群整合Nginx
    前言Nginx搭建,参考:Linux安装Nginx。1、Nginx配置添加nacos集群,调整端口与服务名,并设置代理,详情如下:   配置详情如下http{includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout......
  • 4月19日笔记
    通过select*frompolicyorderbypubdataDESC的SQL语句可以实现按照出版时间降序排列,DESC是降序排列ASC是升序排列,直接写ORDERBYpubdata也是升序排列。通过超链接实现点击姓名跳转到详细信息页面,但超链接上要携带该类的id。超链接先跳转到servlet,在调用service中相应的函......
  • Django笔记九之model查询filter、exclude、annotate、order_by
    本文首发于公众号:Hunter后端原文链接:Django笔记九之model查询filter、exclude、annotate、order_by在接下来四五篇笔记中,将介绍model查询方法的各个细节,为我们的查询操作提供各种便利。本篇笔记将介绍惰性查找、filter、exclude、annotate等方法,目录如下:惰性查找filtere......
  • Gin学习笔记-A
    fresh包可以实现预加载预定义函数预定义的全局函数,用在html文件中and函数返回它的第一个empty参数或者最后一个参数就是说"andxy"等价于"ifxthenyelsex":所有参数都会执行or返回第一个非empty参数或者最后一个参数亦"orxy"等价于"ifxthenxelsey":所有参......
  • chatgpt--mvn install 当做笔记保留
    在Maven中安装外部包需要使用`mvninstall:install-file`命令,其语法如下:mvninstall:install-file-Dfile=<path-to-file>\-DgroupId=<group-id>\-DartifactId=<artifact-id>\-Dversion=<version>\-Dpackaging=<packaging>\-Dg......
  • 梦断代码读书笔记 4
    第6章完成设计方案   该章首先通过一个小故事介绍了备份的重要性,关于可以对上一动作进行撤销功能的感谢。由此引出了软件设计中一些细节的东西,软件设计不仅只是在程序源代码之上覆盖一层诱人的图形,它必须是一种能够满足用户需求的创造性基础工作。程序编写需要创新,得有人......