![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM->二分图匹配
Fate_O
Lets go
展开
-
月老的难题 nyist239
月老的难题时间限制:1000 ms | 内存限制:65535 KB难度:4描述月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘。现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭。现在已知哪些男孩与哪些女孩如果结婚的话,可以结成幸福的家庭,月老准备促成尽可能多的幸福家庭,请你帮他找出最多可能促成的幸福原创 2013-10-02 09:57:04 · 544 阅读 · 0 评论 -
poj 2226 二分图匹配的最小点覆盖建图
建图的时候,没遇到一个障碍物另开一行。#include #include #include #include #include #include using namespace std;const int MAXN = 60;int cm[MAXN][MAXN], rm[MAXN][MAXN];char str[MAXN][MAXN];struct Edge{原创 2014-05-02 15:56:04 · 416 阅读 · 0 评论 -
hdu1533 going home 二分图最优匹配
二分图最优匹配#include #include #include using namespace std;const int MAXN = 100 + 10;const int INF = (~0U >> 1);char temp[MAXN][MAXN];int c[MAXN][MAXN];int lx[MAXN], ly[MAXN];bool visx[MA原创 2013-12-18 18:09:58 · 508 阅读 · 0 评论 -
hdu 1507 Uncle Tom's Inherited Land 黑白染色+奇偶婚配
#include #include #include using namespace std;const int MAXN = 101;int n, m, k;bool vis[MAXN][MAXN];int c[MAXN][MAXN];struct Node{ int u, v;}match[MAXN][MAXN];int dir[4][2] ={原创 2013-12-17 11:47:04 · 453 阅读 · 0 评论 -
hdu1498 二分图匹配(多次最小点覆盖)
#include #include #include using namespace std;const int MAXN = 100 + 10;int n, k;int c[MAXN][MAXN];int ans[MAXN];int match[MAXN];bool vis[MAXN];int cur;bool dfs(int u){ for (int i原创 2013-12-17 10:35:48 · 489 阅读 · 0 评论 -
hdu1281 二分图匹配_必要边
小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格子才可以放,小希还是很轻松的解决了这个问题(见下图)注意不能放车的地方不影响车的互相攻击。 所以现在Gardon想让小希来解决一个更难的问题,在保证尽量多的“车”的前提下,棋盘里有些格子是可以避开的,也就是说,不在这些格子上放车原创 2013-12-17 08:58:13 · 534 阅读 · 0 评论 -
hdu1068 二分图最大独立子集
#include #include using namespace std;const int MAXN = 101;int n, m;int c[MAXN][MAXN];int match[MAXN];bool vis[MAXN];void init(){ memset(match, -1, sizeof(match));}bool dfs(int u)原创 2013-12-16 11:42:28 · 484 阅读 · 0 评论 -
hdu1528 二分图匹配
注意字母转换:A = 14K = 13Q = 12J = 11T = 105个 #include #include #include using namespace std; const int MAXN = 60; int n; char temp[MAXN][2]; char flag[原创 2013-12-17 16:27:58 · 461 阅读 · 0 评论 -
二分图匹配总结
1。二部图: 如果图G=(V,E)的顶点集何V可分为两个集合X,Y,且满足 X∪Y = V, X∩Y=Φ,则G称为二部图;图G的边集用E(G)表示,点集用V(G)表示。2。匹配: 设M是E(G)的一个子集,如果M中任意两条边在G中均不邻接,则称M是G的一个匹配。M中的—条边的两个端点叫做在M是配对的。 3。饱和与非饱和: 若匹配M的某条边与顶点v关联,则称M饱和顶点v,并且原创 2013-12-17 10:40:21 · 676 阅读 · 0 评论 -
hdu1150 二分图匹配的最小点覆盖
#include #include using namespace std;const int MAXN = 101;int n, m;int c[MAXN][MAXN];int match[MAXN];bool vis[MAXN];void init(){ memset(match, -1, sizeof(match));}bool dfs(int u)原创 2013-12-16 11:43:23 · 497 阅读 · 0 评论 -
hdu1151 二分图匹配最短路径覆盖
二分图匹配的最短路径覆盖intersections :交叉点paratroopers :伞兵#include #include #include using namespace std;const int MAXN = 120 + 10;int n, m;struct Edge{ int v, next;}edge[MAXN * MAXN]原创 2013-12-17 08:36:09 · 516 阅读 · 0 评论 -
ACM-> 二分图的最优匹配
SimilarityTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit Status Practice HDU 3718DescriptionWhen we were children, we were always asked to do原创 2013-10-31 19:50:04 · 680 阅读 · 0 评论 -
ACM->uvalive->Sentry Robots(二分图匹配的最小点覆盖)
Sentry RobotsTime Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %lluSubmit Status Practice UVALive 6156DescriptionWe need to guard a set of points of interest原创 2013-10-21 11:10:52 · 774 阅读 · 0 评论 -
匈牙利算法
二分图匹配的算法,二分图就是把图上的点分成两个互不相交的点集,而图中的边的端点只能分别属于这两个点集.二分图的匹配,就是婚配问题,左边的点集男性,右边的点集女性,然后相互配对(一夫一妻);最大匹配就是让好事最多.匈牙利算法可以实现这个东西.匈牙利算法怎么实现的这个东西.这个比较多.代码如下:#include #include #include #define原创 2013-09-21 18:19:41 · 582 阅读 · 0 评论 -
hdu2444 二分图判定+匹配
判定一个图是否是二分图,可以将此图染色判定原创 2014-05-02 16:26:00 · 428 阅读 · 0 评论