Kruskal重构树
&*^*&
这个作者很懒,什么都没留下…
展开
-
acm-(NTT,方案计数,Kruskal重构树)Grakn Forces 2020 G. Clusterization Counting
传送门 关于Kruskal重构树的知识点在这里 题意翻译过来就是要求你将n个点的图划分成k个连通块,满足连通块内部的所有连边权值都小于从连通块连出的边的权值。 如果我们将所有边从小到大来建图会怎样呢?每次加入一条边有两种情况,一是u,v\mathbf{u,v}u,v已经同属一个连通块,故只是在这个连通块内增加一条边,二是将u,v\mathbf{u,v}u,v连通。 对于第一种情况而言,如果在某一次加边之后我们发现这个连通块内部的所有边数与点数的关系恰好符合完全图的点数和边数关系(即边数=点数∗(点数−1).原创 2020-10-03 10:04:24 · 322 阅读 · 0 评论 -
acm-Kruskal重构树学习笔记
引言 Kruskal重构树主要用于解决在线查询问题,询问通常涉及的条件为边权小于某值。 原理 考虑利用Kruskal算法构建一个最小生成树,但在此过程中稍稍改动一下。Kruskal算法的过程主要是按照边权由小到大的顺序对边上的两点做合并操作。现在假设正在处理u−v\mathbf{u-v}u−v这条边,Kruskal重构树将不会直接在新图建立边u−v\mathbf{u-v}u−v,而是建立一个新的节点t\mathbf{t}t,然后让该节点连向u和v\mathbf{u和v}u和v各自连通块的根节点,并给t\原创 2020-09-30 09:57:21 · 429 阅读 · 0 评论