[条件转换]
两两之间有且只有一条简单路径树题意:一个图中有两种边,求一棵生成树,使得这棵树中的两种边数量相等。思路:可以证明,当边的权是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
一、“换边”算法用Kruskal求最小生成树,标记用过的边。求次小生成树时,依次枚举用过的边,将其去除后再求最小生成树,得出所有情况下的最小的生成树就是次小的生成树。可以证明:最小生成树与次小生成树之间仅有一条边不同。这样相当于运行m次Kruskal算法。复杂度O(m^2)示例代码:int
Krus...
分类:
其他好文 时间:
2014-06-09 22:16:39
阅读次数:
348
挺直接的一个题 哎 想复杂了题意:把n*m矩阵中的字母最小生成树求它的边权值之和 只有字母可以分叉
多了一个提取点的过程思路:prime 算法的简单应用#include#include#includeusing namespace std;char
map[55][55];int node[55][...
分类:
其他好文 时间:
2014-06-09 21:29:26
阅读次数:
276
题目意思:有n个村庄,编号1-n,以矩阵的形式给出任意两个村庄之间的距离,然后告诉已经有q个村庄已经修好了路,问现在要打算使所有村庄都联通需要修路的最小长度。
思路就是构造一棵最小生成树,所以将距离排序,从小到大依次并入,直到集合数为1为止。...
分类:
其他好文 时间:
2014-06-08 03:22:29
阅读次数:
289
题意:给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
应用
渗透问题
游戏中会用到。
动态连接
最近共同祖先等价有限状态机物理学Hoshen-Kopelman算法:就是对网格中的像素进行分块Hinley-Milner多态类型推断Kruskai最小生成树Fortran等价语句编译形态学开闭属性Matlab中关于图像处理的bwlabel函数
渗透问题
一个N×...
分类:
其他好文 时间:
2014-06-02 18:56:56
阅读次数:
407