匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。 等等,看得头大?那么请看下面的版本: 通过数代人的努力,你终于赶上了剩男剩女的大潮, ...
分类:
编程语言 时间:
2018-10-09 22:19:04
阅读次数:
224
题目链接:http://codeforces.com/problemset/problem/852/D 题目大意: 有V个点,N个队伍,E条边,经过每条边有个时间,告诉你初始N个队伍的位置,求至少有K个队伍在不同的点的最短时间 题解: 我们二分答案时间,显然具有单调性。先floyd预处理两点之间的最 ...
分类:
其他好文 时间:
2018-10-09 21:50:20
阅读次数:
189
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068 题意:一个男生集合和一个女生集合,给出两个集合之间一一对应的关系,求出两个集合中最大独立集的点数。 思路:在二分图中,最大独立集的点数=顶点数-最大匹配数/2; 求二分图的最大匹配数需要用匈牙利算 ...
分类:
其他好文 时间:
2018-10-07 16:50:14
阅读次数:
106
题目大意:给出一个二分图,求它的最大匹配。 匈牙利算法板子题。。 代码:(写的比较烂) ...
分类:
其他好文 时间:
2018-10-06 14:37:40
阅读次数:
239
二分图匹配,学好了就能找到对象。 我们将这个问题直男化,男生只要对象不冲突,就不存在找不到的情况,女生也不会甩掉男生。 那么,各位单身狗大佬们,怎么才能找到对象呢。 首先,要抢占先机。 最大匹配,可以根据这一步的贪心完成,如果当前这个人没有对象,就要找,而且尽量不抢别人的。 当然先进入的先找。 其次 ...
分类:
编程语言 时间:
2018-10-05 13:59:30
阅读次数:
149
"传送门" 所有学生都有床可以让认识自己的人睡,不在校的学生不占用床铺。 考虑建一个二分图,人对应床,求出最大匹配,根据题意,所有人都应该被安排上,那么就不能存在无法匹配。 cpp include include include define MAXN 55 int Link[MAXN],vis[M ...
分类:
其他好文 时间:
2018-10-05 12:18:15
阅读次数:
180
二分图的最大匹配:匈牙利算法 讲之前本蒟蒻先普及一个重要 专业名词 增广路。 如果你仔细读过并画过图,不难发现如果找到一条增广路,那么配对的个数就会加1。 所以说,增广路的本质其实就是一条路径的起点和终点都未配对的点的边。 匈牙利算法: 这个叫匈牙利算法(Hungarian method)的东西是由 ...
分类:
编程语言 时间:
2018-10-04 11:43:08
阅读次数:
153
Cat VS Dog 题意:一群小朋友去动物园,如果每个小朋友喜欢的动物是猫,那么不喜欢的动物一定是狗,反之也是。现在动物园的管理者要拿走一些动物,如果拿走的是某个小朋友不喜欢的动物,那这个小朋友就非常开心,反之,如果是某个小朋友喜欢的动物,这个小朋友就非常的不开心,问那完后最多有几个小朋友会非常开 ...
分类:
其他好文 时间:
2018-10-02 22:17:18
阅读次数:
222
如下图:要求最多可以凑成多少对对象 ? 大佬博客:https://blog.csdn.net/cillyb/article/details/55511666 模板: 最后的sum值就是最大的匹配值。 附练习题:HDU-4185 Oil Skimming 水平和竖直的两个‘#’,可以连成一条边,求这样 ...
分类:
编程语言 时间:
2018-10-02 22:13:58
阅读次数:
213