最小生成树
lin375691011
呵呵
展开
-
SDUT 2144 图结构练习——最小生成树
果然复习期间一个题都没敲就是手生了。 一定要记得啊:重复边保存最小的!!! 一开始还是没想到这个,最后忍无可忍动用了模版也没过才想到.... prim算法代码操作就不说了,直接上代码: #include #include #define typec int // type of cost const typec inf = 0x3f3f3f3f; // max of cost #def原创 2013-07-22 15:05:02 · 5215 阅读 · 0 评论 -
POJ 2031 Building a Space Station
题目大意: 给出n个三维空间的球体,球体是以圆心坐标+半径来表示的,要求在球面上建桥使所有的球联通,求联通所建桥的最小长度。 解题思路: 刚开始看到三维的有一点蒙,不过精心想了想还是很容易的。 1、两个球之间要在球面上建的通路的长度是两球圆心之间的距离减去两球半径。 2、当所建通路的长度小于EPS时,就认为它两个已经联通,距离为0。 3、自己和自己之间是不可达的。 4、最小长原创 2014-01-03 10:43:29 · 5311 阅读 · 0 评论 -
POJ 3026 Borg Maze
题目大意: 给你一个地图,求由地图上S点到其他点A的最短路径。 代码操作步骤: 1、记录下所有的A和S的位置。 2、BFS求出任意两点之间的最短路程,建立邻接矩阵。 3、Prim算法求最小生成树。 下面是代码: #include #include #include using namespace std; const int M=105; struct node1 {原创 2013-08-08 09:42:26 · 3910 阅读 · 0 评论 -
POJ 1258 Agri-Net
题目大意如下: 农民John当了镇长,他要为小镇谋福利,就为小镇所有的农场铺设光缆链接,给定矩阵表示没两个农场之间的距离,求铺设光缆的最小成本。 Prim算法,代码如下: #include #include const int M=505; int map1[M][M],n; #define typec int // type of cost const typec inf = 0x3f原创 2013-08-07 20:41:18 · 3834 阅读 · 0 评论 -
POJ 1789 Truck History
这个题是一个最小生成树的题,题意如下: 1、每一种卡车的类型是由7个字母表示的。 2、每一种卡车的类型是由其他某一种卡车的类型衍生的(第一种除外)。 3、某两种卡车之间衍生的代价是由这两种卡车所代表的字符串的字母不同的个数表示的。 4、求怎样衍生代价最小。 这是一个稠密图最小生成树题,用Prim算法比较好,因为POJ数据较水,Kruskal 也不会超时。但是如果真出现2000种卡车的情原创 2013-08-07 20:20:21 · 4043 阅读 · 0 评论 -
POJ 2485 Highways
题目大意如下: 又一个岛国没有公路,于是想修公路,通过矩阵给出每两个岛之间的距离,求最小代价建成的公路网中最长的两岛间的距离。 也就算是求稠密图最小生成树的最长边。 Prim算法,代码如下: #include #include const int M=505; int map1[M][M],n; #define typec int // type of cost const typec原创 2013-08-07 20:34:12 · 3828 阅读 · 0 评论