生成树
良月澪二
EU gosto de música
展开
-
BZOJ 3732: Network
题目链接:传送门kruskal重构树板子到不想写…那么这是个什么东西呢?构造很简单我们在构造生成树的时候每遇到两个不在同一集合的节点就新建一个节点并将这个节点设为那两个节点的父亲将新建节点的权值设为原来两个节点之间的边权这样就将边权转化成了点权由于我们的边权是有序的所以重构出的树的根节点的权值一定是最大的或者是最小的可以举一个例子自己构造试一下比如:1 3 23 4 ...原创 2019-07-29 09:33:10 · 214 阅读 · 2 评论 -
Luogu P4768 [NOI2018]归程
题目链接:传送门kruskal重构树具体什么原理可以来这里瞅一下根据海拔高度建出kruskal重构树海拔高的在前面这样重构树的根节点的海拔最小查询的时候只要某个子树的根节点能到那子树也一定能到且走到子树的点都没有花费lca的点权的意义是路上最短边的最大值题目中我们可以通过汽车走一段没有花费的路程就是在这里处理的还需要求一个最小的花费这个花费是这个子树中所有节点的最小花费...原创 2019-07-30 21:03:15 · 157 阅读 · 0 评论 -
Luogu P2245 星际导航
题目链接:传送门kruskal重构树的板子题和货车运输一样滴会的可以写这个我直接改的货车运输当时的倍增lca的代码思路就是建出最小生成树因为显然一些边权很大的边是不可能走的然后倍增维护路径上边权的极值#include <iostream>#include <cstdio>#include <cstring>#include <cstd...原创 2019-07-30 21:10:38 · 236 阅读 · 0 评论