带权二分图最大匹配 P1500 普通的二分图最大匹配的权值都是1,但是现在我们要解决带权的。 解决方法有两个:一个是匈牙利算法但是不会,另一个是最大费用最大流。 建图方式是这个样子: 弄出源点和汇点。源点向男的连边,女的想汇点连边,流量为1,费用为0。 满足条件的男的向女生连边,流量为1,费用为权值 ...
分类:
其他好文 时间:
2019-01-28 21:07:14
阅读次数:
153
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1281 题意概括: 有N*M大的棋盘,要在里面放尽量多的“车”,求最多能放的车的个数,和为了放最多的车有多少个各自必须放车。 解题思路:由“车”的规则可知,同一行或者同一列只能放一个车,可以放车的点作为边, ...
分类:
其他好文 时间:
2019-01-16 11:45:17
阅读次数:
165
第二次世界大战时期,英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2名飞行员,其中1名是英国飞行员,另1名是外籍飞行员。在众多的飞行员中,每一名外籍飞行员都可以与其他若干名英国飞行员很好地配合。如何选择配对飞行的飞行员才能使一次派出最多的 ...
分类:
其他好文 时间:
2019-01-04 19:11:13
阅读次数:
191
问题编号 问题名称 问题模型 转化模型 1 飞行员配对方案问题 二分图最大匹配 网络最大流 2 太空飞行计划问题 最大权闭合图 网络最小割(最大流) 3 最小路径覆盖问题 有向无环图最小路径覆盖 网络最大流 4 魔术球问题 有向无环图最小路径覆盖 网络最大流 5 圆桌问题 二分图多重匹配 网络最大流 ...
分类:
其他好文 时间:
2019-01-01 13:18:11
阅读次数:
277
建立一个超级源点和超级汇点,点与点之间的容量均为1,因为一个点只能匹配一个点,源点向所有左边的点连边,汇点向右边的点连边。最后网络的最大流即为最大匹配。 cpp include include include define MAXN 2005 struct queue { int q[MAXN],h ...
分类:
其他好文 时间:
2018-12-29 23:12:20
阅读次数:
277
题目大意: 在一个n*m的房间中 ‘X’为墙 ‘D’为门 ‘.’为人 门只存在与外围 人每秒钟只能向四连通区域走一步 门比较狭窄 每秒钟只能通过一个人 求所有人逃脱的最短时间 如果不可能则输出impossible 对每个门 广搜出能在这个门逃脱的人的逃出时间 将 对应各个时间的这个门 当做不同的点 ...
分类:
其他好文 时间:
2018-12-14 21:07:23
阅读次数:
147
很容易想到去吧棋盘模型转为二分图。 发现是一个类似行列匹配的问题。 进一步,如果每一个行都可以找到一个列与之配对的话,一定可以通过交换满足要求。 直接dinic求二分图最大匹配即可。 cpp include include include include include include includ ...
分类:
其他好文 时间:
2018-12-05 10:23:47
阅读次数:
158
给你一个二分图 问你最大团为多大 解一:状压DP 解二:二分图最大匹配 二分图的最大团=补图的最大独立集 二分图最大独立集=二分图定点个数-最大匹配 //Hungary #include<bits/stdc++.h> using namespace std; #define N 50 int use ...
分类:
其他好文 时间:
2018-10-20 23:50:28
阅读次数:
360
在二分图的基础上增加源S和汇T。1、S向X集合中每个顶点连一条容量为1的有向边。2、Y集合中每个顶点向T连一条容量为1的有向边。3、XY集合之间的边都设为从A集合中的点到B集合之中的点,容量为1的有向边。 求网络最大流,流量就是匹配数,所有满流边是一组可行解。 所以就解决了。 飞行员配对方案问题: ...
分类:
其他好文 时间:
2018-10-19 02:12:13
阅读次数:
170
题面 题意:给你n个数,你可以选择2个和为质数的数为一对,每个数可以重复选择,你最多选k对,问你最多能选多少个不同数出来 题解:首先思考怎么样的数和为质数,2个偶数相加不行,除了1+1以外2个奇数相加不行,那么大致上,就是偶数+奇数, 这样很明显的发现这就是一个二分图,而且这是自动分好的,并不需要你 ...
分类:
其他好文 时间:
2018-10-14 13:39:48
阅读次数:
209