![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小生成树
Joel__Li
星空和代码都有浪漫
展开
-
poj1586 最小生成树
题目链接在这里 题目大意: 一个星球之间的居民想相互之间建立联系。建立联系需要每户购买设备,每个设备只能供和一位其他居民联系。居民和居民之间有距离,每个居民购买设备的价格也不一样。问如果让所有的居民之间相互建立联系,最少需要花费多少。 解题思路: 每个居民之间两两建边,边的权值是两者之间的距离加上每户人家购买设备的价格的总和。然后根据这些边建立最小生成树。 代码如下: #includ...原创 2019-01-17 19:53:53 · 260 阅读 · 0 评论 -
hdu1233 还是畅通工程 最小生成树
题目链接在这里 题目大意: 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。(我就直接把题目描述搬过来了) 思路分析: 裸的最小生成树,盘它。 代码如下: #include <cstdio&...原创 2019-01-23 11:37:20 · 152 阅读 · 0 评论 -
poj1679 The Unique MST 次小生成树
题目链接在这里 题目大意: 有n个点和m条边,问这m条边构成的最小生成树是不是唯一的。 思路分析: 看最小生成树是不是唯一的,就先构造一棵最小生成树,将它所用到的边都记录下来,删掉其中一条边,看用其它的边还能不能再构造一棵最小生成树。 代码如下: #include <cstdio> #include <cstring> #include <iostrea...原创 2019-01-23 11:24:38 · 139 阅读 · 0 评论 -
poj3026 bfs+最小生成树
题目链接在这里 题目大意: 一群人从起点S开始找外星人,#代表墙壁,A代表外星人。问把所有的外星人找到最少需要多少步。 思路分析: 对每一个为A或者S的点进行bfs,算出来和其它点的最短距离。然后把这些两两之间的距离当成边,构造最小生成树。 注意!!! 1.题目先输入了列数再输入了行数。 2.将列数行数输入完之后要gets一下空格!我用的getchar()没用,wa掉了。 3.数组...原创 2019-01-22 21:14:19 · 350 阅读 · 0 评论 -
poj2421 最小生成树
题目链接在这里 题目大意 有N个村庄,每个村庄之间都有一定的距离,想建几条路使得村庄之间相互连通,问所需要花费的最小代价是什么。(有的村庄之间是相互连通的) 解题思路 相互连通的村庄之间的距离置为0,然后将所有村庄之间的距离放到堆里,直接最小生成树莽出来就完事了。 代码如下 #include <cstdio> #include <cstring> #inclu...原创 2019-01-16 21:01:28 · 135 阅读 · 0 评论 -
poj2031 最小生成树
题目链接在这里 题目大意: 在三维空间中给出n个位置,每个位置有一个球,每个球有x, y, z ,r四个参数代表x、y、z轴坐标和半径r。球和球之间的连接在球的表面积上进行。求让它们相互连通所需要的最小的距离。 解题思路: 把每个球之间相连所需要的距离算出来(就是建边),然后求一棵最小生成树就好了。 注意要用double!!!!用float过不了,把float给define成dou...原创 2019-01-16 11:58:45 · 165 阅读 · 0 评论 -
poj1258 最小生成树
题目链接在这里 题目描述: John要给村民通宽带!他现在已经有了一个高速网络了,现在想将村民相互连接起来。现给出村民之间的距离,求将他们连接起来的最小花费为多少。 思路分析: 最小生成树,盘它就完事了。 代码如下: #include <cstdio> #include <cstring> #include <iostream> #include ...原创 2019-01-21 17:42:14 · 187 阅读 · 0 评论 -
poj1751 最小生成树
题目链接在这里 题目描述: 有N个乡村,每个乡村的地理位置由二维坐标系表示出来。现已建成M条道路,问还需要在哪些村之间铺路使得村之间相互连通。铺路的成本与村与村之间的距离成正比。 思路分析: 我用的Kruskal方法建立最小生成树,输入M条边时,将这些边连接的两顶点用并查集连接起来。然后暴力算出乡村之间两两的距离,从小到大排序之后扫一遍建边就ok了。 注意的是,M可能是大于N的,当然这并...原创 2019-01-21 17:06:26 · 240 阅读 · 0 评论 -
poj1287 最小生成树
题目链接在这里 题目大意 给出N个点,M条边(边有权值),在其中选边使得整个图联通,并且代价最小。 解题思路 最小生成树,莽就完事了。 代码如下 #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <queue...原创 2019-01-15 11:38:30 · 209 阅读 · 0 评论 -
poj2349 最小生成树
题目链接在这里 题目大意: 要将p个居民连接起来使他们可以通话,现在有s个卫星设备,拥有卫星设备的居民之间可以任意通话,其他的居民只能在距离D之内进行通话。现在给出p个居民的坐标,求D最小为多少。 解题思路: s个卫星最多可以构成s - 1条边。我们暴力算出来居民之间两两之间的距离,然后构建一个最小生成树。将最小生成树用到的边存起来并从大到小排个序,前s - 1个边就用卫星通话就行了,第s...原创 2019-01-20 16:09:08 · 188 阅读 · 0 评论 -
poj1789 最小生成树
题目链接在这里 题目大意: 有n辆卡车,每个卡车有一个编号,编号由七个字母组成。卡车之间的距离是两车字母不同的数量。让你选择一种方式将卡车连起来,使他们的距离总和最小。 思路分析: 先暴力求出每个卡车之间的距离,然后建立最小生成树就好。 代码如下: #include <cstdio> #include <cstring> #include <iostre...原创 2019-01-19 11:19:52 · 127 阅读 · 0 评论 -
hdu1875 畅通工程再续 最小生成树
题目链接在这里 题目大意: 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于1000米。当然,为...原创 2019-01-23 19:11:43 · 123 阅读 · 0 评论 -
poj1251 最小生成树
题目链接在这里 题目大意: 有n个点,下面有n - 1行,每行有一个编号X有一个数字m代表点X和m个其它点相连,然后后面有m个点以及权值。求最小生成树。 思路: 最小生成树,莽就完事了。 代码: #include <cstdio> #include <cstring> #include <algorithm> #include <iostre...原创 2019-01-13 09:23:55 · 152 阅读 · 0 评论 -
poj1251 Jungle Roads 最小生成树
题目链接在这里 题目大意: 村与村之间有道路相互连通,维护道路的费用太高了,因此村里的长老决定只维护其中的一部分,并且这维护的部分仍能使村之间连通。求维护的最小成本是多少。 思路分析: 很容易想到这是求最小生成树的问题,只是对输入的处理可能有一丢丢麻烦。搞定输入之后,把最小生成树莽出来就行了。 代码如下: #include <cstdio> #include <cs...原创 2019-01-23 16:04:35 · 212 阅读 · 0 评论