[条件转换]
两两之间有且只有一条简单路径树题意:一个图中有两种边,求一棵生成树,使得这棵树中的两种边数量相等。思路:可以证明,当边的权是0或1时,可以生成最小生成树到最大生成树之间的任意值的生成树。那么,方法就是生成最小生成树,然后,尽量替换0边,使得其成为值为(n-1)/2的生成树。代码:写的很...
分类:
其他好文 时间:
2014-06-29 07:42:58
阅读次数:
241
先求出最小生成树,然后枚举树上的边,对于每条边“分别”找出这条割边形成的两个块中点权最大的两个
1.由于结果是A/B,A的变化会引起B的变化,两个制约,无法直接贪心出最大的A/B,故要通过枚举
2.不管magic road要加在哪里,加的边是否是最小生成树上的边,都会产生环,我们都要选择一条边删掉
注意删掉的边必须是树的环上的边,为了使结果最大,即找出最大的边
3.可以枚举两点,找出边,也...
分类:
其他好文 时间:
2014-06-20 09:09:03
阅读次数:
233
题意:给n*n矩阵 表示个点个边 求最小生成树思路:Kruskal
算法//:简单介绍一下题意。农民要建立互联网络,目的使村庄里所有的农民连上网,//并且总费用最小。多组数据,每组数据给出一个n,然后给出n *
n大小的无向图的邻接矩阵表示,值表示边权。//要求输出最小生成树的权值和。#includ...
分类:
其他好文 时间:
2014-06-07 23:35:22
阅读次数:
235
给定一个带权的无向连通图,怎样选取一棵生成树,使树上全部边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1)克鲁斯卡尔算法图的存贮结构採用边集数组,且权值相等的边在数组中排列次序能够是随意的.该方法对于边相对照较多的不是非常有用,浪费时间.(2)普里姆算法图的存贮结构採用邻接矩阵.此方法是按...
分类:
其他好文 时间:
2014-06-07 23:33:25
阅读次数:
271
??第一阶段:练经典经常使用算法,以下的每一个算法给我打上十到二十遍,同一时候自己精简代码,由于太经常使用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都能够把程序打出来.1.最短路(Floyd、Dijstra,BellmanFord)2.最小生成树(先写个
prim,kruscal ...
分类:
其他好文 时间:
2014-06-06 06:41:41
阅读次数:
407
最小生成树 普里姆&& 克鲁斯卡尔 图形事例构造 并查集...
分类:
其他好文 时间:
2014-06-03 00:17:56
阅读次数:
332
应用
渗透问题
游戏中会用到。
动态连接
最近共同祖先等价有限状态机物理学Hoshen-Kopelman算法:就是对网格中的像素进行分块Hinley-Milner多态类型推断Kruskai最小生成树Fortran等价语句编译形态学开闭属性Matlab中关于图像处理的bwlabel函数
渗透问题
一个N×...
分类:
其他好文 时间:
2014-06-02 18:56:56
阅读次数:
407
题目:
链接:点击打开链接
题意:
对n个村庄之间的路进行修理, 然后是n-1行,每行的第一组数据时一个大写字母VIL和一个数K,Vil表示从这个村庄出发,K表示刚才的那个字母代表的村庄和其他村庄的路的数目,接下来在同一行是K组数据,每组是一个大写字母和一个数,大写字母表示和第一个村庄连接的村庄,数表示维修他们之间的路所需的费用。现在为了使维修费油最低,只需所...
分类:
其他好文 时间:
2014-06-02 12:27:47
阅读次数:
171
题目来源:POJ 1679 The Unique MST
题意:判断最小生成树是否唯一 求出次小生成树比较
思路:慢一点的方法就是求出最小生成树 每次去掉最小生成树的一条边再求最小生成树 比较慢
更好的方法是 求出最小生成树后加上一条没有用到的边 然后必定出现一条回路 去掉回路上权值最大的边 做m-(n-1)次
求一次最小生成树 然后n^2的时间预处理最小生成树上两点之间最大的边权 最后...
分类:
其他好文 时间:
2014-06-01 13:53:03
阅读次数:
225