Prim算法 Kruskal算法 Dijkstra算法(从一个顶点到其余各顶点的最短路径) Floyd算法(每对顶点之间的最短路径) 拓扑排序 ...
分类:
编程语言 时间:
2019-10-04 16:36:57
阅读次数:
96
题目链接 题意: 给一个图,问其最小生成树是否唯一。 题解: 用Kruskal 算出最小生成树的值,并记录每一条边,然后枚举去掉这些边 看其是否也能构成最小生成树且值相同。 注意 在删边后,可能图构不成一棵树,得判断一下。 代码: #include<iostream> #include<stdio. ...
分类:
其他好文 时间:
2019-10-02 14:55:26
阅读次数:
103
1 kruskal 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define INF 0x3f3f3f3f 8 9 using namespace std; 10 int n,m; 11 struct data 12 { 13 ... ...
分类:
其他好文 时间:
2019-09-30 23:16:07
阅读次数:
89
正解:最小生成树 解题报告: 传送门$QwQ$ 发现$Kruskal$和$Prime$都不太可做,于是考虑$B$算法. 先大概港下$B$算法的流程趴$QwQ$.大概就,每次对每个联通块找到最近的联通块,连边.一直做下去就好.因为每次联通块个数至少会减少二分之一,所以最多做$logn$次. 然后现在来 ...
分类:
其他好文 时间:
2019-09-30 18:11:20
阅读次数:
69
Kruskal Prim DJ: Spfa Trie: LCA( bz ) Treearray: Treearraycf: RMQ: Invfm: Invexgcd: Invdt: Tyfc: bdfc: CRT: jzqsm: ...
分类:
其他好文 时间:
2019-09-29 23:44:34
阅读次数:
92
Highways POJ 1751 最小生成树 Prim算法 题意 有一个N个城市M条路的无向图,给你N个城市的坐标,然后现在该无向图已经有M条边了,问你还需要添加总长为多少的边能使得该无向图连通.输出需要添加边的两端点编号即可。 解题思路 这个可以使用最短路里面的Prim算法来实现,对于已经连接的 ...
分类:
编程语言 时间:
2019-09-27 23:23:38
阅读次数:
151
思路 :先把所有的边排个序,然后枚举所有的边(从小到大),如果当前边所连的两个点并没有在同一个集合里(这一可以用并查集来实现)(需要判断两个点是否已经连通,如果已经连通了,那么再用这条边连一遍就没有什么意义了),就连上这条边了。如果已经连了n - 1条边(n - 1条边就可以将一个图变为一个连通图) ...
分类:
编程语言 时间:
2019-09-24 21:12:46
阅读次数:
100
题面 首先便是想到了Floyd的暴力方法,状态转移方程也不难推出:w[i][j]=max(w[i][j], min(w[i][k],w[k][j]));但是n^3n3次方时间复杂度和n^2n2的空间复杂度是显然不可取的。 于是我们思考,可以发现有一些权值较小的边是不会被走过的。正如样例中的第三条边, ...
分类:
其他好文 时间:
2019-09-22 15:20:31
阅读次数:
56
"AcWing" 题意:给定一棵n个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树.求增加的边的权值总和最小是多少?$n . 那么我们还是按照$Kruskal$构建最小生成树的思想,把n条边按照权值从小到大排序,每次扫描到一条边,如果两端的节点,不属于一个集合 ...
分类:
其他好文 时间:
2019-09-20 21:29:10
阅读次数:
67