最小生成树
化身孤岛的鲸o
我祈祷拥有一颗透明的心灵
展开
-
PIPIOJ 1183: 信使PIPI 多次bfs+最小生成树
题目: http://39.106.164.46/problem.php?id=1183 思路: (1)将每个为’C’或者小写’c’的点哈希成1~cnt的序号,代表图中有cnt个点。 (2)多次bfs将所给的矩阵化为邻接矩阵。 (3)然后用prim算法求最小生成树。 代码如下: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #include<queue&g原创 2020-10-14 10:18:35 · 236 阅读 · 0 评论 -
PIPIOJ 1118: 继续畅通工程 最小生成树kruskal算法
题目: http://39.106.164.46/problem.php?id=1118 Kruskal算法: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #include<queue> #include<cstring> #include<vector> #include<stack> #include<原创 2020-10-12 21:39:48 · 187 阅读 · 0 评论 -
PIPIOJ 1399: 最小生成树板子
题目: http://39.106.164.46/problem.php?id=1399 Prim算法: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #include<queue> #include<cstring> #include<vector> #include<stack> #include<map原创 2020-10-12 21:11:31 · 150 阅读 · 0 评论 -
PIPIOJ 1383: 院长PIPI 最大生成树总权值
题目: http://39.106.164.46/problem.php?id=1383 思路: 求最大生成树的总权值,然后用10000 * (n+m) 减去这个值就是花费最小的代价。这里用的是kruskal算法。 代码如下: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #include<queue> #include<cstring>原创 2020-10-11 16:54:44 · 203 阅读 · 0 评论 -
PAT顶级 1001 Battle Over Cities - Hard Version (35分) 最小生成树
PAT顶级 1001 Battle Over Cities - Hard Version (35分) 最小生成树 题解: 给出一个连通图,共有n个结点,这些结点由m条道路连接。 这m条道路中,有一些道路是损坏的,其他的是好的。 再给出修复这m条道路所需要的花费值。 题目最后要求的是去掉任意一个结点i后,把其余结点连接起来所需的花费总和中最大的,也可能有多个结点的花费总和相同,那我们就需要输出这些结...原创 2020-02-06 22:15:58 · 299 阅读 · 0 评论 -
洛谷 P1991 无线通讯网 最小生成树
洛谷 P1991 无线通讯网 最小生成树第k大边 题解: 这道题用prim算法或者kruskal算法都可以,就是把最大的(s-1)条边去掉后,最大的那一条边就是答案。 代码如下: Prim算法: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #incl...原创 2020-01-21 23:44:34 · 222 阅读 · 0 评论 -
洛谷 P1265 公路修建 最小生成树
洛谷 P1265 公路修建 最小生成树 题解: 我们需要建立一个完全图,边数可能较多,所以采用prim算法比较好。 代码如下: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #include<queue> #include<cstri...原创 2020-01-21 21:57:20 · 180 阅读 · 0 评论 -
洛谷 P2330 [SCOI2005]繁忙的都市 最小生成树
洛谷 P2330 [SCOI2005]繁忙的都市 最小生成树 题解: 题目共有三个条件: 1.改造的那些道路能够把所有的交叉路口直接或间接的连通起来。 2.在满足要求1的情况下,改造的道路尽量少。 3.在满足要求1、2的情况下,改造的那些道路中分值最大的道路分值尽量小。 其实第三个条件就是最小生成树的性质。 代码如下: #include<iostream> #include<al...原创 2020-01-20 23:51:48 · 540 阅读 · 0 评论 -
洛谷P1546 最短网络 Agri-Net 最小生成树的总权值
P1546 最短网络 Agri-Net 最小生成树的总权值 Prim算法: #include<iostream> #include<algorithm> #include<stdio.h> #include<cmath> #include<queue> #include<cstring> #include<vector&...原创 2020-01-20 23:31:29 · 258 阅读 · 0 评论 -
Poj 2485 Highways 最小生成树最大权边
Prim算法代码: //最小生成树最大权边 #include<iostream> #include<math.h> #include<stdio.h> #define INF 0x3f3f3f3f #define MAX 505 using namespace std; int t,n;//t组数据,n个结点 int visit[MAX],dis[MAX]...原创 2019-09-10 17:18:28 · 268 阅读 · 0 评论 -
洛谷 P3366 最小生成树板子
代码如下: #include<iostream> #include<algorithm> using namespace std; int n,m;//n个结点和m条边 int fa[5005]; struct edge{ int a; int b; int len; }e[200005]; int findfather(int x){ if(x!...原创 2019-09-10 15:06:59 · 184 阅读 · 0 评论