最小生成树
Kruskal
#include
#include
#include
#include
using namespace std;
struct A{
int x,y;
double z;
}a[500010];
int r[755];
int find_(int x)
{
while(x!=r[x])
x=r[x];
retur...
分类:
其他好文 时间:
2014-11-16 17:19:50
阅读次数:
138
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或Prim(普里姆)算法求出...
分类:
编程语言 时间:
2014-11-15 23:19:56
阅读次数:
711
http://www.lydsy.com/JudgeOnline/problem.php?id=1016想也想不到QAQ首先想不到的是:题目有说,具有相同权值的边不会超过10条。其次:老是去想组合计数怎么搞。。。。。。。于是最sb的暴力都不会了。。所以这题暴力搞就行了orz依次加边,每一种边的方案数...
分类:
Web程序 时间:
2014-11-15 18:38:20
阅读次数:
224
先判断是不是连通图,不是就输出-1。否则,把边排序,从最小的边开始枚举最小生成树里的最短边,对每个最短边用Kruskal算法找出最大边。或者也可以不先判断连通图,而是在枚举之后如果ans还是INF,说明就没有,就输出-1.#include#include#include#include#includ...
分类:
其他好文 时间:
2014-11-15 18:21:34
阅读次数:
202
图结构练习——最小生成树Time Limit: 1000MS Memory limit: 65536K题目描述有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。输入输入包含多组...
分类:
其他好文 时间:
2014-11-12 22:31:17
阅读次数:
185
一个生成树构造成另一个生成树,可以不断的去边又加边来完成。 而这题全部边权为0,1,所以加边去边过程是+1 +1 的;
可以求出生成树 最大边权和 ,及最小的边权和。 然后枚举24个 小于100000的斐波那契数。如果无法成树,那直接可以判断是no的;
只要有某个斐波那契数 fb, fb=最小边权和 那就是可以构成这样一颗树的;...
分类:
其他好文 时间:
2014-11-10 10:09:40
阅读次数:
211
from wiki: 图算法 基本遍历 深度优先搜索 · 广度优先搜索 · A* · Flood fill 最短路径 Dijkstra · Bellman-Ford · Floyd-Warshall · Kneser图 最小生成树 Prim · Kruskal 强连通分量 Kosaraju算法 · ...
分类:
编程语言 时间:
2014-11-10 06:24:58
阅读次数:
253
HDU 4786(最小生成树 kruskal)...
分类:
其他好文 时间:
2014-11-09 20:53:35
阅读次数:
253
此题是最基础的最小生成树的题目,有两种方法, 一个是prim一个是kruskal算法,前者利用邻接矩阵,后者是利用边集数组prim算法的思想是:一个点一个点的找, 先找从第一个点到其他点最小的, 把权值存放到一个lowcost的数组中,然后继续找下一个点,然后更新lowcost数组,注意,这时的lo...
分类:
其他好文 时间:
2014-11-08 19:33:19
阅读次数:
214
最小生成树 Prim kruskal 并查集...
分类:
其他好文 时间:
2014-11-02 09:27:56
阅读次数:
152