二分图匹配总结
二分图匹配
1、二分图最大匹配,求两个集合内,每个元素只能用一次,两集合间存在一些匹配关系,求最大匹配多少对,利用匈牙利算法,对于每个结点不断去找增广路去匹配
有几个重要性质:
1、最小点覆盖 = 最大匹配
2、最大独立集 = 总结点 - 最大匹配
模板:
bool dfs(int u) {
for (int i = 0; i < g[u]....
分类:
其他好文 时间:
2014-11-02 19:42:12
阅读次数:
174
题目:在n*n的方格里,放入几个喷火器,他们会攻击同行、同列的点,问做多能放多少个。
分析:图论,搜索,二分图匹配。本题可以利用搜索求解,这里我使用的是二分图匹配。
建图,把原图每行每列的不同的连续区间分别看成一个新图中的点xi与yj;
则边表示原图中对应位置的点,原图中可以互相攻击的点就对应到新图中相同的xi与yj;
...
分类:
其他好文 时间:
2014-11-01 17:47:57
阅读次数:
159
HDU 2236 无题II
题目链接
思路:行列只能一个,想到二分图,然后二分区间长度,枚举下限,就能求出哪些边是能用的,然后建图跑二分图,如果最大匹配等于n就是符合的
代码:
#include
#include
#include
#include
using namespace std;
const int N = 105;
int t, n, x[N][N]...
分类:
其他好文 时间:
2014-11-01 14:53:58
阅读次数:
189
Description小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:行交换操作:选择矩阵的任意两行,交换这两行(即交换对应格子的颜色)列交换操作:选择矩阵的任意行...
分类:
其他好文 时间:
2014-10-31 23:27:48
阅读次数:
239
HDU 1853 Cyclic Tour
题目链接
题意:一个有向图,边有权值,求把这个图分成几个环,每个点只能属于一个环,使得所有环的权值总和最小,求这个总和
思路:KM完美匹配,由于是环,所以每个点出度入度都是1,一个点拆成两个点,出点和入点,每个点只能用一次,这样就满足了二分图匹配,然后用KM完美匹配去就最小权值的匹配即可
代码:
#include
#incl...
分类:
其他好文 时间:
2014-10-31 13:56:27
阅读次数:
264
POJ 2226 Muddy Fields
题目链接
题意:给定一个图,要求用纸片去覆盖'*'的位置,纸片可以重叠,但是不能放到'.'的位置,为最少需要几个纸片
思路:二分图匹配求最小点覆盖,和放车那题基本一样,就是注意要预处理一下行列,把连续横的'*'当成一行,竖的'*'当成一列,建图跑最小点覆盖即可
代码:
#include
#include
#include...
分类:
其他好文 时间:
2014-10-30 19:13:51
阅读次数:
214
POJ 3020 Antenna Placement
题目链接
题意:给定一个地图,'*'的地方要被覆盖上,每次可以用1 x 2的矩形去覆盖,问最少用几个能覆盖
思路:二分图匹配求最大独立集,相邻*之间连边,然后求最大独立集即可
看这数据范围,用轮廓线dp应该也能搞
代码:
#include
#include
#include
#include
using ...
分类:
其他好文 时间:
2014-10-30 17:08:34
阅读次数:
155
POJ 1466 Girls and Boys
题目链接
题意:n个人,每个人有一个爱慕的集合,现在要挑出一些人,使得集合中没有人两两爱慕,问这个集合最大人数是多少
思路:每个人拆成两点,爱慕和被爱慕,然后建图,跑二分图最大匹配,由于爱慕关系是相互的,所以匹配数会多2倍,然后人数n - 最大匹配数 / 2就是最大独立集
代码:
#include
#include
...
分类:
其他好文 时间:
2014-10-29 13:01:45
阅读次数:
161
POJ 1422 Air Raid
题目链接
题意:给定一个有向图,在这个图上的某些点上放伞兵,可以使伞兵可以走到图上所有的点。且每个点只被一个伞兵走一次。问至少放多少伞兵
思路:二分图的最小路径覆盖,每个点拆成两个点,然后根据有向边连边,然后答案为n - 最大匹配数
代码:
#include
#include
#include
#include
using ...
分类:
其他好文 时间:
2014-10-29 12:57:48
阅读次数:
175
2014-10-2515:13:56暑假打(luan)完(gao)了基础,是时候做一下下一步的规划了。 codeforces #190-#199 图论--基础(割顶、割边、连通性等) 图论--二分图及二分图匹配 图论--差分约束 树结构--BST 树结构--LCA 树结构--树分治 ...
分类:
其他好文 时间:
2014-10-25 15:47:45
阅读次数:
240