图------最小生成树
h
蒋卫升
这个作者很懒,什么都没留下…
展开
-
UVA 11354 bond (最小瓶颈生成树)
题目链接题意:给你一张图,保证了边数大于等于节点的个数,求一棵生成树,使得路径最大边权尽量小。思路:首先求出最小生成树,然后把无根树转化为有根树,用RMQ类似的原理求出cost【i】【j】数组,即 i 节点往上j个祖先的边权最大值,最后用lca求出两点之间的最小瓶颈路即可,套路题!#include <bits/stdc++.h>#define mk make_pai...原创 2020-02-06 10:55:42 · 205 阅读 · 0 评论 -
最小生成树 (prim 模板)
题目链接存个模板!!prim:时间复杂度是V*V(v是节点的个数)。该算法巧妙的利用了,最小生成树的切分性质:给定任意切分,横切边最小的边必然属于最小生成树。#include <bits/stdc++.h>using namespace std;const int maxn = 105,inf = 1e9;int a[maxn][maxn],mn[max...原创 2020-02-03 19:07:58 · 273 阅读 · 0 评论 -
Maze Designer (最大生成树 + LCA + 思维)
题目链接题意:给你一个n*m的网格,格子与格子的边界(除了外边界)有一个边权值,代表造迷宫的代价,现在问造一个迷宫,网格任意两点之间都联通,且造迷宫的代价最小,显然这样的方案是唯一的,有q次查询,每次查询有两个坐标,代表情侣的两个位置,问这两个情侣,最短的路的是多少,输出最短路。思路:把这m*n个格子看成点,把格子与格子之间的墙看成边(有边代表没墙),那么只需要n*m-1条边就可以把这n...原创 2020-01-29 13:12:35 · 288 阅读 · 0 评论 -
最小生成树 (kruskal 模板)
题目链接题意:给出一个无向图,求出最小生成树,如果该图不连通,则输出orz思路:首先,把这个无向图看成一个一个个离散的点,保存边,对边从小到大排序,要用到并查集对边进行合并,这样可以避免形成环,如果,最后边的数目是n-1,那么最小生成树就求出来了。#include<bits/stdc++.h>using namespace std;struct node{ ...原创 2019-11-11 15:13:39 · 178 阅读 · 0 评论