
——二分图匹配
FeBr2
(๑•̀ㅂ•́)و✧
展开
-
二分图匹配(缩点建图)—— Fire Net ( HDU 1045 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1045分析: 在棋盘游戏的基础上(两点不能在同行同列),加了一个墙的概念,如果两个点之间有墙是可以在同一行/列的。所以就不能单纯地用行和列来建二分图进行匹配了,需要进行缩点重新建图。题解: 读取输入的时候可以用getchar(),需要注意的是,每读取完一行需要用一个getchar()来拿走那个原创 2016-07-18 13:27:32 · 576 阅读 · 0 评论 -
二分图匹配——POJ 3057
题目链接: http://poj.org/problem?id=3057题意: 给出一个 N*M的房间,’X’代表墙,’.’代表一个人,’D’代表出口,每个出口每一秒可以通过一个人,每个人每一秒只能移动一格,求最少需要多少秒能将所以移出去分析:这个题可以用二分图来做,我们可以发现,在t时刻的每一扇门d都对应某一个人p,所以我们可以把t时刻能到达门d的所有人都和门建立边,然后进行二分图匹配,由于题原创 2017-03-05 22:33:23 · 371 阅读 · 0 评论 -
图论点、边集和二分图的相关概念和性质
参考链接: http://dsqiu.iteye.com/blog/1689505概念:最小点覆盖: 点覆盖集即一个点集,使得所有边至少有一个端点在集合里。或者说是“点” 覆盖了所有“边”。最小点覆盖(minimum vertex covering)就是点最少的点覆盖。最小边覆盖: 边覆盖集即一个边集,使得所有点都与集合里的边邻接。或者说是“边” 覆盖了所有“点”。最小边覆盖(minimum原创 2016-10-09 12:12:16 · 1148 阅读 · 0 评论 -
最大权二分匹配(最大费用流) —— Best couple (玲珑学院 1047)
题目链接: http://www.ifrog.cc/acm/problem/1047分析: 给出n个男孩和m个女孩,男孩在标号为1~n的城市里,女孩在标号为n+1~n+m的城市里。再给出每个城市之间的距离,-1表示不可达。求怎么配对使得每一对之间的距离和最大。题解: 这是一道很明显的最大权二分图匹配,可以用KM做,也可以用最大费用流来做,这里用费用流的做法:将边权乘以-1后用最小费用最大流原创 2016-11-06 01:26:26 · 698 阅读 · 0 评论 -
最大权闭合子图——hiho 119周
题目链接: https://hihocoder.com/contest/hiho119/problem/1分析: 给出N个同学,每个同学有一个活力值;给出M项活动,每一个活动也有一个活力值,每一个活动需要k名指定同学参加才能成功举办。每选择一个同学参加活动,则需要耗费这个同学的活力值;每成功举办一个活动,则可以得到这个活动的活力值,求问最大能获得多少活力值。题解:最大权闭合子图: 就是给定原创 2016-10-09 16:52:59 · 388 阅读 · 0 评论 -
最小路径覆盖——hihoCoder 118
题目链接: https://hihocoder.com/contest/hiho118/problem/1分析: 一共有N个旅游景点(编号1..N),由M条单向路线连接。游览线路保证是没有环路的。每一个调查团可以从任意一个景点出发,沿着计划好的游览线路依次调查。每个景点只会有一个调查团经过,不会被重复调查。求所需要的最小调查团数。题解: 将这个问题转换为二分图匹配来做:路径的性质:起点的入原创 2016-10-02 14:42:06 · 903 阅读 · 0 评论 -
二分图匹配 ( 多重匹配&&Hungarian)——Escape ( HDU 3605 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3605分析: 有n个人和m个星球,给出n个人对于m个星球的态度(0为不适合居住,1为适合),再给出m个星球最大能居住多少人,要求判断这n个人能否都居住到自己喜欢的星球。 这是一道多重匹配的二分图,改改匈牙利算法就能过。(开始直接上了网络流ISAP,结果直接TLE,T ^ T)多重匹配匈牙利算法原创 2016-08-10 15:06:53 · 508 阅读 · 0 评论 -
二分图匹配(匈牙利算法)
详细讲解: http://blog.youkuaiyun.com/pi9nc/article/details/11848327以下为粗略概括:二分图定义: 简单来说,就是图中的点可以被分为两组,并且使得所有的边都跨越组的边界,则这就是一个二分图。另一个等价定义是:不含有“奇数条边的环”的图。匹配: 在图论中,匹配是边的集合,这个集合中任意两条边都没有公共定点。最大匹配: 一个图的所有匹配中,所喊转载 2016-07-17 13:05:19 · 476 阅读 · 0 评论 -
判断二分图——染色法
怎么判定一个图是否为二分图 从其中一个定点开始,将跟它邻接的点染成与其不同的颜色,最后如果邻接的点有相同颜色,则说明不是二分图,每次用bfs遍历即可。代码:#include <queue> #include <cstring> #include <iostream> using namespace std; const int N = 999; int col[N], Map原创 2016-07-17 15:41:47 · 4904 阅读 · 0 评论 -
二分图匹配——棋盘游戏 ( HDU 1281 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1281分析&题解: 题意是求最多可以放几个棋子,并且哪几个点是必须放子的,一看就是二分图匹配,匹配行和列,最后,搜索所有边,每次删除一条边,如果最大匹配变少了,这条边(就是棋盘位置)就是关键位置。AC代码:#include <iostream>#include <cstring>#incl原创 2016-07-18 10:17:39 · 726 阅读 · 0 评论 -
二分图匹配——HDU 5943
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5936题意:给定 s,n,判断 s+1,s+2,...,s+ns+1,s+2,...,s+n 这 n 个数能否放到 1,2,3,...,n1,2,3,...,n 的位置上(如果 xx 可以放到 yy 上,则必须满足 x mod y=0x\ mod\ y = 0)分析:这题是一道很明显的二分图匹配,但是因为原创 2017-05-06 11:14:55 · 518 阅读 · 0 评论