给定一个二分图G,M为G边集的一个子集,如果M满足当中的任意两条边都不依附于同一个顶点,则称M是一个匹配。Reference:google上搜"ByVoid 二分图"(被墙了T^T)计算二分图的最大匹配:匈牙利算法模板:#include #include #define MAX 102long n,...
分类:
其他好文 时间:
2014-07-31 09:41:15
阅读次数:
270
解题报告
二分图第一题。
题目描述:
为了参加即将召开的会议,A国派出M位代表,B国派出N位代表,(N,M
会议召开前,选出K队代表,每对代表必须一个是A国的,一个是B国的;
要求每一个代表要与另一方的一个代表联系,除了可以直接联系,也可以电话联系,求电话联系最少
思路:
电话联系最少就要使直接联系最大,又是一一匹配关系,就是二分图的最大匹配。
下面是匈牙利算法。
#includ...
分类:
其他好文 时间:
2014-07-24 23:29:53
阅读次数:
303
二分图中,点覆盖数是匹配数。
(1) 二分图的最大匹配数 = 最小点覆盖数
即求最少的点使得每条边都至少和其中的一个点相关联,很显然直接取最大匹配的一段节点即可。
(2) 二分图的独立数 = 顶点数 - 最大匹配数
很显然的把最大匹配两端的点都从顶点集中去掉这个时候剩余的点是独立集,这是|V|-2*|M|,同时必然可以从每条匹配边的...
分类:
其他好文 时间:
2014-07-22 00:32:35
阅读次数:
175
点击打开链接
二分图的最小顶点覆盖数 = 二分图的最大匹配数
题意: 在N*N的网络中有K颗小行星。小行星i的位置是(Ri, Ci)。现在有一个强力的武器能够用一发光束将一整行或一整列的小行星消灭。想要利用这个武器消灭所有的小行星最少需要几发光束?
分析: 以小行星的左右坐标建立二分图,就可以看出是求二分图的最小顶点覆盖数。
#include
#include
#inc...
分类:
其他好文 时间:
2014-07-12 23:37:10
阅读次数:
220
问题:POJ2239分析: 本题给出每门课程的上课时间,求最大选课数,可以转化为二分图最大匹配问题求解。 设集合A为课程集,集合B为上课时间集,根据输入建立二分图。最大选课书就是该二分图的最大匹配数,采用匈牙利算法即可解决。 AC代码 1 //Memory: 252K Time:...
分类:
其他好文 时间:
2014-07-03 19:50:56
阅读次数:
197
二分图最大匹配的匈牙利算法模板题。由题目易知,需求二分图的最大匹配数,采取匈牙利算法,并采用邻接表来存储边,用邻接矩阵会超时,因为邻接表复杂度O(nm),而邻接矩阵最坏情况下复杂度可达O(n^3)。代码:#include #include #include #include #include #in...
分类:
其他好文 时间:
2014-06-15 11:53:19
阅读次数:
207
初级:基本算法:枚举:1753 2965贪心:1328 2109
2586构造:3295模拟:1068 2632 1573 2993 2996图:最短路径:1860 3259 1062 2253 1125
2240最小生成树:1789 2485 1258 3026拓扑排序:1094二分图的最大匹配:...
分类:
其他好文 时间:
2014-05-25 22:16:08
阅读次数:
341
将行中连续的' . '当作X集的一个点,列中连续的’ . ‘看成Y集中的一个点,然后把每一个’ . ‘看成一条边,连接Xi,Yj。
则问题转化成求此二分的最大匹配数。每找到一条匹配边的意义是找到了一个点放置一个,并且覆盖了所在的连续的行和列。
所以答案即为此二分图的最大匹配。
#include
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-05-07 16:33:04
阅读次数:
283
HDU 2063
求一个二分图的最大匹配。
完全的裸题。贴代码。
#include
#include
#include
#include
#include
using namespace std;
vector G[1005];
bool check[1005];
int mac[1005];
int n;
void add_edge(int from,int to)
{
G[f...
分类:
其他好文 时间:
2014-05-02 20:57:04
阅读次数:
359