普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。
借用维基百科的定义就是:
从单一顶点开始,普里姆算法按照以下步骤逐步扩大树中所含顶点的数目,直到遍及连通图的所有顶点。
输入:一个加权连通图,其中顶点集合为V,边集合为E;
初始化:Vnew = {x...
分类:
编程语言 时间:
2015-08-29 21:44:02
阅读次数:
150
二分图指的是这样一种图,其所有顶点可以分成两个集合X和Y,其中X或Y中任意两个在同一集合中的点都不相连,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。给定一个二分图G,M为G边集的一个子集,如果M满足当中的任意两条边都不依附于同一个顶点,则称M是一个匹配。图中包含边数最多的匹配称为图的最大匹配。
二分图的最大匹配有两种求法,第一种是最大流;第二种就是我现在要讲...
分类:
编程语言 时间:
2015-08-27 13:30:06
阅读次数:
268
定义:一个有向图,存在从某个点为根的,可以到达所有点的一个最小生成树,则它就是最小树形图。
朱刘算法实现过程: 【在选出入边集后(看步骤1),若有向图中不存在有向环,说明该图就是最小树形图】
1,选入边集——找到除root点之外,每一个点的所有入边中权值最小的,用数组in[]记录下这个最小权值,用pre[]记录到达该点的前驱;(若图中存在独立点,最小树形图是不存在的,所...
分类:
编程语言 时间:
2015-08-26 09:32:01
阅读次数:
202
题意:n个国家,m条有向边,国家1要去攻打国家n,n想切断1到n的道路来防御,切断每条道路有一定费用,国家1有一个NB魔法,可以建一条新边或者加固一条已有的边,这条边不能被n破坏,现在求 最大化n国花费之和的最小值。
思路:可知就是求最小割边集,先建图,跑一遍最大流得ans,然后从S集到T集枚举割边使容量为INF,在残留网络中再跑网络流并记录最大值Max,那么最后答案就是ans+Max。在枚举的时候也可以直接重新建图,这样应该好理解一些。...
分类:
其他好文 时间:
2015-08-25 23:56:52
阅读次数:
572
UVA上的题就是让人眼前一亮,不同于那些赤裸裸的生成树水题,该题稍加了变化,不是求最小生成树,而是求最苗条生成树 。
因为生成树有很多,而且每一棵生成树的最大边与最小边只差也是不确定的 。所以只能枚举所有的生成树 。
套用最小生成树模板 ,我们可以枚举生成树的起点位置,然后向后推终点位置,当n个点全部连通时,那么这棵生成树的边集就是[L,R] 。因为边事先都排好序了, 那么该树的苗条值就是...
分类:
其他好文 时间:
2015-08-16 19:48:25
阅读次数:
113
一:图的定义
一个图G=(V,E)由定点集V和边集E组成,每一条边都是一个点对(v,w),其中v,w属于V。如果点对是有序的,那么图就叫做有向的。有向的图有时也叫做有向图。定点v,w邻接当且仅当(v,w)属于E。有时候边还有第三种成分,称为权或值。
图的一条路径是一个顶点序列W1,W2,W3~Wn,使得(Wi,Wi+1)属于E,这样一条路径的长是该路径上的边数,它等于N-1.。从一个顶点到它自...
分类:
其他好文 时间:
2015-08-11 12:17:25
阅读次数:
111
二分图:将图中的顶点分为两个集合X和Y,X与Y集合没有交集,并且各自集合内的点没有边相连,X集合与Y集合形成边
二分匹配:在二分图的基础上,X Y两个集合所形成的边集中的子集M,M中的任意两条边没有公共的顶点
最大匹配:当M中的边数达到二分图的上限时称为最大匹配
完美匹配:二分图中的所有顶点都在匹配的边上,称为完美匹配
增广路:在图中的一条路径从未匹配的顶点开始到未匹配的顶点结束,其中路径...
分类:
其他好文 时间:
2015-08-10 14:54:01
阅读次数:
93
Destroying The Graph
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 7597
Accepted: 2434
Special Judge
Description
Alice and Bob play the following g...
分类:
其他好文 时间:
2015-08-07 19:46:14
阅读次数:
126
题目一:飞行员配对方案问题 一群飞行员和另一群飞行员之间有的可以配对,有的不能配对,求最多可以配多少对? 典型二分图最大匹配问题。可以用匈牙利算法 或者 加上源点汇点之后跑最大流。【感觉第二个打错的概率还低一些】。 【还是介绍一下匈牙利算法吧】【看白书大法好!】 从左边(s集)一个未盖点...
分类:
其他好文 时间:
2015-07-29 22:38:42
阅读次数:
124
题意:给一幅图,要从s点要到e点,图中有两种无向边分别在两个集合中,第一个集合是可以无限次使用的,第二个集合中的边只能挑1条。问如何使距离最短?输出路径,用了第二个集合中的哪条边,最短距离。思路:(1)简单易操作方法:既然第二个集合的边只能有1条,就穷举下这些边,可能的边集进行求最短路,同时记录3个...
分类:
其他好文 时间:
2015-07-24 12:15:48
阅读次数:
99