
6-最小生成树
pppqq77223434
VOCALOID MERC ACG
展开
-
[Kruskal] POJ 1251
题意: N个顶点的无向图,给你每条边的长度,要你求该图的最小生成树.其中每个点用大写字母A-Z表示.原创 2017-12-25 22:57:07 · 236 阅读 · 0 评论 -
[Kruskal] POJ 1258
题意: 给你一个N顶点的无向图的距离邻接矩阵,问你使得整个图连通的最小边长和是多少?思路 邻接矩阵,直接模板.代码#include #include #include #include using namespace std;const int N = 110;const int M = 10000 + 10;struct Edge {原创 2018-01-29 22:42:27 · 191 阅读 · 0 评论 -
[Kruskal] POJ 1751
题意: 有一个N个城市M条路的无向图,给你N个城市的坐标,然后现在该无向图已经有M条边了,问你还需要添加总长为多少的边能使得该无向图连通.输出需要添加边的两端点编号即可.思路 不需要输出最终生成树的权值,那么我们在求两点距离的时候时间保存距离 dist=(x1-x2)(x1-x2)+(y1-y2)(y1-y2);即可,不用sqrt开方(因为开方费时间). 不知道一开始原创 2018-01-29 22:38:48 · 213 阅读 · 0 评论 -
[Kruskal] POJ 2349
题意: n个站点,s个卫星信号无视距离,剩下电波信号限制距离D,求D最小分析: 按照求最小生成树的顺序选边,倒数n-s+1就是D的值 注意,一般有打印double的题目要用C++提交不能用G++提交,否则WA.代码#include #include #include #include #include using namespace std;原创 2018-01-28 22:06:43 · 380 阅读 · 0 评论 -
[Kruskal] POJ 1789
题意: 用一个7位的string代表一个编号,两个编号之间的distance代表这两个编号之间不同字母的个数。一个编号只能由另一个编号“衍生”出来,代价是这两个编号之间相应的distance,现在要找出一个“衍生”方案,使得总代价最小,也就是distance之和最小。思路 首先计算出任意两个string之间的距离,然后对Kruskal添加边,计算最小生成树即可. 由于本原创 2018-01-28 21:50:22 · 218 阅读 · 0 评论 -
[Kruskal] ZOJ 1586
Submitted failed题意 每个人有一个路由器,第二行给出的n的数,代表第i个人购买一个路由器需要的权。 下面给出n×n的方阵mp,mp[i][j]代表第i和第j个人之间建立连接需要花费的权。每一天线路都要买一个路由器思路 把两点之间的权 = 两个路由器 + 线路钱的总和就行了#include #include #include #include原创 2018-01-26 16:52:23 · 203 阅读 · 0 评论 -
[Kruskal] POJ 2421
题意: 有N个点的无向图,给了你该图的距离矩阵.且其中一些点已经连接起来了,现在要你求让该无向图连通,你需要添加边的总长度最少是多少?分析: 将已经连通的边看成是长度为0的边,然后用Kruskal算法处理即可代码#include #include #include #include using namespace std;const int N = 1原创 2018-01-26 16:45:23 · 218 阅读 · 0 评论 -
[Kruskal] POJ 2031
题意: 给定一些球的圆心与半径,如果两个球之间相交,则他们之间连通, 否则不连通,问还需要连多长的边使所有球都连通原创 2017-12-28 22:45:16 · 271 阅读 · 0 评论 -
[Prim] POJ 1287
题意:应该就是装宽带网络,给定节点和有权值的边的数目,问最小的成本是多少。原创 2017-12-25 22:59:12 · 259 阅读 · 0 评论 -
[Kruskal] UVA1151
题意给你点的坐标, 还有一堆已经连好有固定花费的集合, 求花费最小的生成树思路集合只有8个, 枚举所有加入和不加入的可能性 TLE, 用到并查集的路径压缩(好像有的代码不用也可以) 注意细节 还有什么传说中的UVA的输出格式 (小声)一天就能做一道题…..代码#include <algorithm>#include <bits/stdc++.h&...原创 2018-07-04 20:24:55 · 224 阅读 · 0 评论