题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2063 #include <iostream> #include <stdio.h> #include <string.h> using namespace std; int n,m,k; int lin ...
分类:
编程语言 时间:
2017-07-18 10:09:00
阅读次数:
90
二分图最大匹配: 1.匈牙利算法:注意dfs中是dfs(c[w[i]]),搜索的是与之匹配的点。 1 #include<cstdio> 2 #include<cstring> 3 4 int n,m,x,y,fi[100001],w[200001],ne[200001],cnt,c[100001], ...
分类:
其他好文 时间:
2017-05-31 19:10:46
阅读次数:
287
传送门 把所有非障碍的相邻格子彼此连一条边,然后求二分图最大匹配,看 tot * 2 + k 是否等于 n * m 即可。 但是连边不能重复,比如 a 格子 和 b 格子 相邻,不能 a 连 b ,b 也连 a。 所以可以人为规定,横纵坐标相加为 奇数 的格子连横纵坐标相加为 偶数 的格子。 如果一 ...
分类:
编程语言 时间:
2017-05-06 13:19:01
阅读次数:
162
Algorithm.( Augmenting Path Algorithm ) Input: An X-Y bigraph G, a matching M in G, and the set U of M-unsaturated vertices in X. Idea: Explore M-alte ...
分类:
编程语言 时间:
2017-04-15 19:23:18
阅读次数:
271
匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是二部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。 http://blog.csdn.net/pi9nc/article/detail ...
分类:
其他好文 时间:
2016-12-22 22:31:03
阅读次数:
241
二分图基础: 最大匹配:匈牙利算法 最小点覆盖=最大匹配 最小边覆盖=总节点数-最大匹配 最大独立集=点数-最大匹配 网络流: 带下界网络流 最小割问题的总结: *意义 1.加inf的边表示不能被割,通常用于体现某个点必须属于某个集合 连边(s,u,w)代表如果u不在s割的话需要付出代价w 2.连边 ...
分类:
其他好文 时间:
2016-07-13 01:02:21
阅读次数:
277
1. 二分图的匹配问题1.1 二分图简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。
准确地说:把一个图的顶点划分为两个不相交集 U 和 V ,使得每一条边都分别连接U 、 V 中的顶点。如果存在这样的划分,则此图为一个二分图。
二分图的一个等价定义是:不含有「含奇数条边的环」的图。图 1 是一个二分图。为了清晰,我们以后都把它画成图 2 的形式。...
分类:
编程语言 时间:
2016-04-29 01:44:07
阅读次数:
316
首先是二分图定义与判断 http://www.cnblogs.com/wenruo/p/5243034.html 给定一个二分图G,M为G边集的一个子集,如果M满足当中的任意两条边都不连接同一个顶点,则称M是一个匹配。 一个很好的比喻是,一个二分图,左边代表男生,右边代表女生,连线代表有好感,匹配就
分类:
编程语言 时间:
2016-03-04 20:50:44
阅读次数:
364