二分图的最小顶点覆盖 定义:假如选了一个点就相当于覆盖了以它为端点的所有边。最小顶点覆盖就是选择最少的点来覆盖所有的边。 方法:最小顶点覆盖等于二分图的最大匹配。 我们用二分图来构造最小顶点覆盖。 对于上面这个二分图,顶点分为左右两个集合,X集合包含1,2,3,4,Y集合包含5,6,7,8,9.假如 ...
分类:
其他好文 时间:
2016-11-06 19:31:49
阅读次数:
346
Muddy Fields Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10044 Accepted: 3743 Description Rain has pummeled the cows' field, a rectangu ...
分类:
其他好文 时间:
2016-09-04 19:19:08
阅读次数:
196
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14429 Accepted: 6153 Description As we all know, machine scheduling is a v ...
分类:
其他好文 时间:
2016-09-04 12:50:01
阅读次数:
183
[1635] Explosion 时间限制: 10000 ms 内存限制: 65535 K 问题描述 there is a country which contains n cities connected by n - 1 roads(just like a tree). If you place ...
分类:
其他好文 时间:
2016-08-28 16:24:44
阅读次数:
219
二分图的最小顶点覆盖:用最少的点,让每条边都至少和其中一个点关联。 最大匹配数 = 最小点覆盖数(Konig 定理) 水题…… 突然发现我以前的匈牙利算法模版有问题……因为这里左边的点时1~n,右边的点是1~m,所以有不同的点标号是相同的,注意注意! 因为这个算法本身是O(n^2)的,所以数据必然不 ...
分类:
系统相关 时间:
2016-08-23 14:36:51
阅读次数:
171
题意:给定一个NxN的网格,其中有k个格点上有障碍物,每次可以消除一行或一列障碍物,问最少几次可以消除全部的障碍物。 思路:二分图的经典模型,将所有的行看作二分图中左边的端点,将所有的列看作右边的端点,当格点上有障碍物时,连一条边,问题转变为求二分图的最小顶点覆盖,根据König定理由二分图的最大匹 ...
分类:
其他好文 时间:
2016-08-12 21:35:18
阅读次数:
94
点击打开链接
题意:将所有点都连起来至少需要多少条路径
思路:二分图的最小路径覆盖,而最小路径覆==图的顶点数-图的最大匹配,而当初还学习过最小顶点覆盖==最大匹配,而最小顶点覆盖需要连双向边,结果除以2,那是因为1-->2时,点1和点2都已经用过,所以我在连一个相应的一条边,代表这两个点不能在用了,样例详见hdu 1054 第二组。而接下来的求最小路径覆盖的最大匹配我们就只能是单向的,这个为...
分类:
其他好文 时间:
2016-04-22 19:48:27
阅读次数:
185
这个题的意思是给你一个N*N的矩阵, 里面有K个星球, 我们可以让武器攻击矩阵的一行或者一列来使得这个星球被击碎, 现在问你最少需要几个这种武器才能把所有的星球击碎, 首先我们可以知道每个武器最多攻击一行一次, 因此最多有2*N个武器, 另外我们可以将武器看成顶点, 星球看成边,连接一副图,求出这个
分类:
其他好文 时间:
2016-03-04 20:55:05
阅读次数:
206
分析:这里使用树形DP做。1、最小顶点覆盖做法:最小顶点覆盖 == 最大匹配(双向图)/2。2、树形DP:dp[i][0]表示i为根节点,而且该节点不放,所需的最少的点数。dp[i][1]表示i为根节点,而且该节点放,所须要的最少的点数。dp[i][0]=sum(dp[son[i][j]][1]) ...
分类:
其他好文 时间:
2016-01-06 15:48:31
阅读次数:
125
pid=1150">Machine ScheduleTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5424Accepted Submission(...
分类:
系统相关 时间:
2015-12-13 12:33:18
阅读次数:
243