题目场景:
1号女生与1号男生相互认识,因此1号女和1号男可以坐在一起。1号女与2号男可以坐在一起,2号女认识2号和3号男,3号女认识1号男。请问如何安排座位才能让最多的人满意呢?
像这样特殊的图叫做二分图(无向图)。
二分图定义:如果一个图的所有顶点可以被分为X和Y两个集合,并且所有边的两个顶点恰好一个属于集合X,另一个属于集合Y,即每个集合内的顶点没有边相连,那么此图就是二分图。
...
分类:
其他好文 时间:
2015-02-06 13:22:05
阅读次数:
164
匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。-------等等,看得头大?那么请看下面的版本:通过数代人的努力,你终于赶上了剩男剩...
分类:
编程语言 时间:
2015-02-02 17:40:27
阅读次数:
202
题意:那个图不要看,给的没错,是有向无环图(拓扑)
题解:
对于每两点,都有一个关系————>如果传递闭包后a能到b,那么两者只能选一个。
完事了。
代码:
#include
#include
#include
#include
#include
#define N 305
#define M 25000
#define inf 0x3f3f3f3f
using...
分类:
其他好文 时间:
2015-01-28 09:45:43
阅读次数:
293
题目大意:给定一个拓扑图,求一个最大的点集,点集中的点两两不可达
这实际上就是让你求传递闭包后图的最大点独立集- -
利用二分图最大匹配就能搞- -
#include
#include
#include
#include
#define M 110
using namespace std;
int n,m,ans;
bool map[M][M];
int state[M],resul...
分类:
其他好文 时间:
2015-01-28 08:28:18
阅读次数:
220
说是有一个军事演习
n个士兵,其中有m个关系表示某两个人是好友
现在士兵已经分好了两组了,用来进行对抗,但是这两组之间可能有好友,会影响军事演习的情况
所以要去掉尽量少的人,使得这个两组之间没有好友。
那么题目给了一个分组方案了, 但是不同组之间可能有好友,
我们就要在这些个不同组的好友之间 连边然后求二分图最大匹配,
求出来的结果就是要去掉的人数
但是题目又要求字典序要...
分类:
其他好文 时间:
2015-01-23 00:46:14
阅读次数:
220
匈牙利算法:http://blog.csdn.net/dark_scope/article/details/8880547代码:#include#includeusing namespace std;const int N = 505;bool map[N][N],used[N];int pre[N...
分类:
其他好文 时间:
2015-01-21 20:02:39
阅读次数:
175
Chessboard
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 14157
Accepted: 4401
Description
Alice and Bob often play games on chessboard. One day, Alice ...
分类:
其他好文 时间:
2015-01-16 10:08:58
阅读次数:
171
Selecting Courses
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 8781
Accepted: 3922
Description
It is well known that it is not easy to select courses ...
分类:
其他好文 时间:
2015-01-14 15:37:53
阅读次数:
142
The Perfect Stall
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 19272
Accepted: 8737
Description
Farmer John completed his new barn just last week, com...
分类:
其他好文 时间:
2015-01-14 14:21:48
阅读次数:
167
本文转自大牛博客:http://www.byvoid.com/blog/hungary/这是一种用增广路求二分图最大匹配的算法。它由匈牙利数学家Edmonds于1965年提出,因而得名。 定义 未盖点:设Vi是图G的一个顶点,假设Vi 不与随意一条属于匹配M的边相关联,就称Vi 是一个未盖点。交错路...
分类:
编程语言 时间:
2015-01-03 18:28:08
阅读次数:
201