标签:二分图 最大匹配 最小集覆盖 匈牙利算法
1、二分图、最大匹配
什么是二分图:二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。
什么是匹配:把上图想象成3男4女搞对象...
分类:
编程语言 时间:
2015-07-26 21:01:26
阅读次数:
138
二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。二分图的最大匹配:匈牙利算法完美匹配: 如果所....
分类:
其他好文 时间:
2015-07-21 21:59:55
阅读次数:
124
http://poj.org/problem?id=3041在n*n的网格中有K颗小行星,小行星i的位置是(Ri,Ci),现在有一个强有力的武器能够用一发光速将一整行或一整列的小行星轰为灰烬,想要利用这个武器摧毁所有的小行星最少需要几发光束.主要是构图,将每一行当成一个点,构成集合1,每一列也当成一...
分类:
编程语言 时间:
2015-06-09 21:28:40
阅读次数:
142
POJ 1469 COURSES (二分图最大匹配 匈牙利算法)...
分类:
编程语言 时间:
2015-06-09 06:15:57
阅读次数:
106
poj1274题意: 有n个奶牛, m个畜舍, 每个畜舍最多装1头牛,每只奶牛只有在自己喜欢的畜舍里才能产奶。 求最大产奶量。 分析: 其实题意很明显, 二分图的最大匹配, 匈牙利算法。
#include
#include
#include
#include
using namespace std;int n, m, sum,...
分类:
编程语言 时间:
2015-05-28 09:40:27
阅读次数:
150
poj1274题意: 有n个奶牛, m个畜舍, 每个畜舍最多装1头牛,每只奶牛只有在自己喜欢的畜舍里才能产奶。 求最大产奶量。 分析: 其实题意很明显, 二分图的最大匹配, 匈牙利算法。#include#include#include#includeusing namespace std;int.....
分类:
编程语言 时间:
2015-05-27 22:46:28
阅读次数:
149
博文“二分图的最大匹配、完美匹配和匈牙利算法”对二分图相关的几个概念讲的特别形象,特别容易理解。本文介绍部分主要摘自此博文。 还有其他可参考博文: 趣写算法系列之--匈牙利算法 用于二分图匹配的匈牙利算法 1. 前言 二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的...
分类:
编程语言 时间:
2015-05-20 23:49:41
阅读次数:
293
匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。题目链接: http://acm.hdu.edu.cn/showproblem.ph....
分类:
编程语言 时间:
2015-05-04 11:37:21
阅读次数:
150
分析:该題可以用x坐标去匹配y坐标,匹配成功一次就是一个可放棋子的点,最后求得的的二分图最大匹配就是可以放的最大棋子数。求二分图的最大匹配使用匈牙利算法。之后通过删除一条边来判断一个点是否为关键点,若删边后,最大匹配数不变则不是,否则是,通过分别删除每个点进行测试,最终即可算出关键点的个数。
#include
using namespace std;
#define N 102
int map...
分类:
编程语言 时间:
2015-04-29 21:49:17
阅读次数:
464
http://blog.csdn.net/dark_scope/article/details/8880547 1 bool find(int x){ 2 int i,j; 3 for (j=1;j<=m;j++){ //扫描每个妹子 4 if (line[x]...
分类:
编程语言 时间:
2015-04-14 00:35:06
阅读次数:
164