最小生成树
SYaoJun
这个作者很懒,什么都没留下…
展开
-
858. Prim算法求最小生成树
AcWing题目链接 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N=510,INF=0x3f3f3f; int n,m; bool st[N];//状态 int g[N][N]; //创建图 int d[N];//点之间对距离 i...原创 2019-10-30 22:49:09 · 167 阅读 · 0 评论 -
859. Kruskal算法求最小生成树
AcWing题目链接 Kruskal算法 把所有边按照边权从小到大排序 把边权最小的两个顶点使用并查集加入同一个集合 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int M = 2e5+5; int root[M]; struct...原创 2019-10-30 22:47:03 · 112 阅读 · 0 评论 -
最小生成树模板
https://www.luogu.org/problemnew/show/P3366 #include #include using namespace std; const int maxn = 2000005; const int maxx = 5005; int root[maxx]; int find(int x){ return x==root[x]?x:root[x原创 2018-01-31 03:11:36 · 319 阅读 · 0 评论 -
还是畅通工程【浙江大学】★
题目描述 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 输入描述: 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应...原创 2018-03-01 17:17:42 · 186 阅读 · 0 评论 -
7-10 公路村村通 (30 分)
最小生成树 使用kruskal算法求解 #include<bits/stdc++.h> using namespace std; const int maxn=3005; int n,m,ans; struct node{ int u,v,cost; }E[maxn]; bool cmp(node a, node b){ return a.cost < b.cost; } i...原创 2019-02-11 11:17:48 · 1007 阅读 · 0 评论 -
51nod 1212 无向图最小生成树
题目链接 kruskal算法 1.先对边权从小到大排序 2.每次挑选边权最小的两个顶点来判断,如果不在一个集合,就用并查集进行合并。 3.每次合并的时候记录权值,最后输出。 #include <iostream> #include <vector> #include <algorithm> #include <cstring> using name...原创 2019-09-02 10:38:54 · 126 阅读 · 0 评论 -
7-50 畅通工程之局部最小花费问题 (35 分)
并查集 kruskal算法的应用 需要先将连通的点合并起来,然后再查询。 由于集合的原因,肯定不会包含重复的点。 #include <iostream> #include <cstdio> #include <string> #include <unordered_map> #include <algorithm> using names...原创 2019-09-26 16:18:47 · 656 阅读 · 0 评论