![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kruskal重构树
蜗角虚名羊
这个作者很懒,什么都没留下…
展开
-
bzoj3732: Network(kruskal重构树)
题目 题解 Solution 首先如果这道题是可以离线的,那么我们可以将边从小到大排序,每次加边,然后把两个端点所在的联通块并在一起。那么当AAA,BBB刚好联通时加的那条边的边权就是答案。但是本题强制在线,所以我们必须先预处理再回答询问。 我们按照kruskalkruskalkruskal求最小生成树的方式加边,但每次在加边时,新建一个节点,然后把两个联通块(其实是两棵二叉树)的根节点作为其左右...转载 2018-10-31 16:21:21 · 179 阅读 · 0 评论 -
bzoj4242: 水壶
题目 题解 Solution 很明显的一点,这道题目就是要在网格图上面计算一个最小生成树,然后就变成了货车运输一样的做法,可以倍增或者是克鲁斯卡尔重构树。 后面的部分就是原题,所以不再考虑,只考虑怎么样构造网格图最小生成树。 我们对于每一个可行的起点一起bfsbfsbfs,对于每一个格子记录两个东西:一个记录距离当前位置最近的建筑的距离,以及是哪一个建筑。 当你bfsbfs到某个格子的时候,发现这...转载 2018-11-01 17:15:41 · 210 阅读 · 0 评论 -
bzoj4793: [CERC2016]Hangar Hurdles
题目 Solution 容易发现,答案是两点间某条路径的每个点可扩展大小的最小值 刚开始我按kruskalkruskalkruskal重构树模板来写,边权记为两点的可扩展大小的minminmin,复杂度O(n2logn+qlogn)O(n^2logn+qlogn)O(n2logn+qlogn)发现TLETLETLE了 后来发现不需要建那些额外的边,每个点就是一个权值,可我发现lcalcalca的预...原创 2019-02-17 11:25:53 · 202 阅读 · 0 评论