二分图匹配
文章平均质量分 53
x_1023
这个作者很懒,什么都没留下…
展开
-
二分图匹配水题列表
最小路径覆盖: 即对于一个有向图来说选定最少的连通的路径(一条有向路径可以经过很多节点)shide 最小点覆盖: 即对于一些二分图上的边,满足每个边两个节点中至少一个在一个点集合中,这个点集的元素最小个数。其值等于最大匹配数。 POJ 3041 对于每一个点,其行数和列数至少有一个被标记,则联系到最小点覆盖特性,将每个陨石点行数与列数相连建图即可。 #include #incl原创 2017-08-21 00:05:34 · 138 阅读 · 0 评论 -
BZOJ 1854 [Scoi2010]游戏 - 二分图匹配/并查集
考察内容:二分图匹配/并查集 二分图匹配: 考虑到二分图的特性为不能重复匹配,题意中恰有武器的两个属性只能选择一个的特性,于是联想到二分图最大匹配,将武器编号和其威力值相连,威力值有小到大调用find函数,若无法匹配则终止输出答案 并查集: 可以想象武器作为路径将两种威力值相连,相连需要一种能够体现集合性质的数据结构,于是想到并查集。并查集维护每个集合的最大值,若不成环原创 2017-08-17 00:42:42 · 189 阅读 · 0 评论 -
BZOJ 1143 [CTSC2008] 祭祀river - Dilworth定理(二分图匹配)+Floyd传递闭包
考察内容:二分图匹配 Dilworth定理:最长反链长度=最小链覆盖 对偶定理:最长链长度=最小反链覆盖 其中反链是指链覆盖后剩余的点组成的集合,在其中的点不能相互抵达而链反之 需要寻找最多的不被链覆盖的点,其数量恰等于最小链覆盖数,对于本题来说即为有向图的最小路径覆盖,考虑到二分图匹配中 最大匹配=n-最小路径覆盖 证明即: 最小路径覆盖数=最大匹配的路径数(一条路径原创 2017-08-14 00:34:52 · 259 阅读 · 0 评论 -
POJ 1422 Air Raid - 最小路径覆盖(二分图)-易错题
考察内容:最小路径覆盖 题意:给定一张有向图,每个节点只能经过一次,求最小路径覆盖数 易错点: 注意Floyd传递闭包与否取决于一个节点能否经过多次 考虑二分图求最小路径覆盖即为匹配出一个点的前驱和后驱, 而对于节点只能经过一次的情况,不能存在路径交叉 eg:a1->b->c1,a2->b->c2,若传递闭包判断连通性,则匹配为 a2-c2,a1-b-c1,其原创 2017-08-14 00:25:06 · 188 阅读 · 0 评论 -
BZOJ 4429 小学数学 - 最大匹配+离散化
这种多对一的选择问题一般都是二分图,这道题也显然,只需要把三种运算的结果离散化一下跑一个hungary就好了,奇怪的是这么大的数据还可以好的这么快。。。#include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<algorithm>using namespace std;const int maxn原创 2017-10-03 10:45:33 · 221 阅读 · 0 评论 -
UVa 11134 Fabled Rooks 虚拟的车 - 贪心+思维
给一个n x n的棋盘,要求在上面放n个车且相互不攻击,而且对于第i个车要求必须在给定的矩形中(每个车所对应的矩形已给出),求一组满足的解,无满足的情况输出”IMPOSSIBLE” ## 坑 ##首先考虑拆点,将二维坐标拆成x轴和y轴的两组,对于每一个轴要求在给定的n个线段上选出一个1~n的排列。如果考虑每条线段只能选择一个数,每个数的选择只能取一次,满足二分图的性质,可以考虑拿最大匹配写(写了个H原创 2017-10-11 15:48:12 · 154 阅读 · 0 评论