首页 > 其他分享 >Kruskal重构树小记

Kruskal重构树小记

时间:2023-08-26 14:44:52浏览次数:36  
标签:重构 Kruskal 集合 rm 节点 边权 小记

模拟赛考了,简单贺一下 oi-wiki

引入

定义

在跑 \(\rm Kruskal\) 的过程中我们会从小到大加入若干条边。现在我们仍然按照这个顺序。

首先新建 \(n\) 个集合,每个集合恰有一个节点,点权为 \(0\)。

每一次加边会合并两个集合,我们可以新建一个点,点权为加入边的边权,同时将两个集合的根节点分别设为新建点的左儿子和右儿子。然后我们将两个集合和新建点合并成一个集合。将新建点设为根。

不难发现,在进行 \(n-1\) 轮之后我们得到了一棵恰有 \(n\) 个叶子的二叉树,同时每个非叶子节点恰好有两个儿子。这棵树就叫 \(\rm Kruskal\) 重构树。

性质

  • 原图中两个点之间的所有简单路径上最大边权的最小值 \(=\) 最小生成树上两个点之间的简单路径上的最大值 \(=\) \(\rm Kruskal\) 重构树上两点之间的 \(\rm LCA\) 的权值。

  • 到点 \(x\) 的简单路径上最大边权的最小值 \(\leq val\) 的所有点 \(y\) 均在 \(\rm Kruskal\) 重构树上的某一棵子树内,且恰好为该子树的所有叶子节点。该子树的根节点就是 \(x\) 到根的路径上权值 \(\leq val\) 的最浅的节点

标签:重构,Kruskal,集合,rm,节点,边权,小记
From: https://www.cnblogs.com/xishanmeigao/p/17658567.html

相关文章

  • 「Log」2023.8.25 小记
    序幕到校同学都没来,先摆。写博客,写啊,写啊。改费用流板子。\(\color{royalblue}{P3381\【模板】最小费用最大流}\)板子。痛心疾首,建边的时候费用边反边为负权边。\(\text{Link}\)间幕\(1\)水一道平衡树加强版,直接复制粘贴板子,无意义的。网络流。\(\color{royalblue}{P......
  • 反演小记
    反演反演,可以理解为两个事物通过某种关系的互相转化。基本推论设\(F,G\),满足\(F(n)=\sumV[n,i]G(i)\),其中\(V\)为矩阵,将\(F,G\)看成列向量,可以写做\(F=V*G\),那么我们可以容易推出\(G=V^{-1}*F\),这就是反演的过程,而一些特殊的反演即是利用了\(V\)和\(V^{-1}......
  • mysql基操小记
    MYSQLA.概述1.关系型数据库​ MySQL是一个关系型数据库管理系统,由瑞典[MySQLAB](https://baike.baidu.com/item/MySQLAB/2620844?fromModule=lemma_inlink)公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Re......
  • 8.23 模拟赛小记
    A.还是单调队列优化dp的板子,类似昨天C。B.洛谷原题指路:P1758[NOI2009]管道取珠感觉是比较有难度的dp。题目概述:给你两个只有两种字符组成的序列,每次从一个序列末尾取走一位放入新序列的末尾,最后得到k种不同的新序列形态。每种形态有a[i]种不同的操作,求\(\sum_{i......
  • 【小记】拉格朗日插值
    拉格朗日插值是知道\(n\)次多项式在\(n+1\)个点的点值,快速求出\(f(x')\)的算法结论拉格朗日插值本质上就是该式子,首先我们知道的点值为当\(x=x_i\)时\(f(x)=y_i\)\[f(x)=\sum_{i=0}^{n}y_i\prod_{j\nei}\frac{x-x_j}{x_i-x_j}\]推导首先假设我们考虑第\(i\)个点值。那么我......
  • 粗粒度可重构架构
    CGRA介绍粗粒度可重构架构(CGRA)是一种替代硬件平台,相比FPGA细粒度的可重构架构,由于CGRA内部的IS(ALU)模块已经构建完成(IssueSlot+RegistryFile+MUX构成的组合结构),且CGRA的interconnect也要比FPGA更简单、规模更小,其延时和性能要显著好于在门级上进行互连形成组合计算逻辑的FPGA......
  • 日常工具使用小记录 (daily tool usage snippet)
     1.如何上传本地文件至服务器(howtouploadlocalfilestoserver)1.1启动本地server假设本地目录C:/your_home/tmp,该目录下有文件test.txt cdc:/your_home/tmppython-mSimpleHTTPServer8081//新开另一个命令窗口openanothercmdtabifconfig//......
  • 「Log」2023.8.21 小记
    序幕七点到校,管理整理博客。然后开始写博客,SAM的。学长开始讲题,2-SAT,还算好理解,写完博客过了下板子题。\(\color{royalblue}{P4782【模板】2-SAT问题}\)板子。\(\text{Link}\)间幕\(1\)吃饭,学长开始讲LCT。和SAM同样抽象的东西。好消息是代码跟SAM一样较为好写......
  • 8.21 模拟赛小记
    A.吃饭路上也要锻炼,原P3505[POI2010]TEL-Teleportation咱现在思路通了,代码实现可能得鸽一鸽。两个强强的博客:https://www.cnblogs.com/stoorz/p/12182770.html,https://www.cnblogs.com/reywmp/p/14014611.html。是很难的思维题,涉及乘法原理和图论,用到了分层思想。统计答案时......
  • Kruskal算法是一种用于寻找图的最小生成树的贪心算法。它通过按照边的权重递增的顺序
    Kruskal算法可以通过生活中的例子来解释。我们可以将城市之间的道路网络看作是一个图,每个城市是一个顶点,道路是连接城市的边,而道路的长度可以看作是边的权重。假设我们想要修建一条连接所有城市的最小成本道路网络。首先,我们需要找到连接城市的所有道路,并按照道路的长度进行排......