最小生成树
Dilly__dally
这个作者很懒,什么都没留下…
展开
-
HDU 1863
prim算法(不用并查集)#include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define M 105//int mat[M][M];/*int pre[M];int Find(int x){ int p,t; p=x; while(x!=pre[x]) ...原创 2018-04-30 13:33:33 · 231 阅读 · 0 评论 -
HDU 1102
最小生成树水题#include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define M 105int mat[M][M];int prim(int n,int sta)//n表示有n个顶点,sta表从sta这个顶点出发生成最小生成树{ int mark[M],dis[M]; int...原创 2018-04-28 00:55:21 · 107 阅读 · 0 评论 -
POJ 3026 Borg Maze (最小生成树+bfs)
题意:从S点有一伙人出发去消灭A点的敌人,在S点或者A点可以分裂成几个小队然后分别走,这样路径=总队路径+各个小队路径 问你怎样路径最短思路:S点可以看成是A点,用bfs预处理每两个A(包含S)的最短距离,题目中的分裂就可以看成树的分叉,把所有A点构成最小生成树,其权值和即为最短的路径。注意:这里题目有坑,输入行和列后会有一大堆空格,要先用gets吃掉,不然会WA。#...原创 2018-11-30 13:25:19 · 172 阅读 · 0 评论 -
POJ 2031 Building a Space Station(最小生成树+简单几何)
题意:在一个三位平面上有几个球体,然后输入数据是给你N个球的球心坐标,以及半径。科学家们想要实现各个球之间的接触,也就是有表面的接触。当然,两个球之间可能会有相交的地方( dis(a,b) <= 0 ),那么这两个球是不用你新建道路来实现想通的。思路:求每个球之间球面的距离然后最小生成树就行了。水……#include<cstdio>#include<cs...原创 2018-11-28 11:36:53 · 202 阅读 · 0 评论 -
POJ 2349 Arctic Network(最小生成树+第K大的边)
题意:有S颗卫星和P个哨所,有卫星的两个哨所之间可以任意通信;否则,一个哨所只能和距离它小于等于D的哨所通信。给出卫星的数量和P个哨所的坐标,求D的最小值。思路:因为题目要求每两个点都能通信,所以可以转化成最小生成树,然后记录每次加进去的边,最后对这个数组排一下序,因为s个卫星能连s-1条边,所以取rec[p-2-(s-1)]即rec[p-s-1]就是满足条件的D。#include<...原创 2018-11-28 17:49:45 · 230 阅读 · 0 评论