
二分图匹配
文章平均质量分 65
不可不戒
这个作者很懒,什么都没留下…
展开
-
hdu1528 Card Game Cheater (最大匹配&hdu1962)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1528题解:将 Eve 每一张牌与Adam每一张牌进行比较,如果大于,建立一条边,求最大匹配。#include #include #define MAXN 30 int from[MAXN],us原创 2013-09-05 21:37:24 · 712 阅读 · 0 评论 -
hdu1498 50 years, 50 colors (最小点覆盖)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1498题解:(hdu2119的强化版)把行和列看成二分图的两部分,每个边只要选一个点就能删除,选择最少的点覆盖所有的边。#include #include #include #define MAXN 102int mp[MAXN][MAXN],n;原创 2013-09-04 20:03:38 · 532 阅读 · 0 评论 -
hdu1281 棋盘游戏 (最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1281题解:棋盘中的一个点,代表二分图中两个集合之间的一条边。因为每行每列至多只能放一个棋子。第i行与j列匹配代表棋盘第i行j列这个位置放棋子。“车”的个数就是二分图的最大匹配数。要求有多少个重要的点,枚举每个点,去掉该点后的最大匹配如果不变,就不是重要点。#include原创 2013-09-02 19:24:34 · 673 阅读 · 0 评论 -
hdu3335 Divisibility (最小路径覆盖)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3335题解:从中选出最多的数能够使得其两两之间不能整除#include #include #define MAXN 1001int n,graphics[MAXN][MAXN],used[MAXN];_int64 from[MAXN],num[MAXN];//二分图的原创 2013-09-02 18:30:24 · 771 阅读 · 0 评论 -
hdu2389 Rain on your Parade (最大匹配Hopcroft--Karp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2389#include #include #include #include #include #define MAXN 3002using namespace std;struct node{ int x,y;}guests[MAXN],umbrella[MAXN];原创 2013-09-02 15:07:13 · 667 阅读 · 0 评论 -
hdu1179 Ollivanders: Makers of Fine Wands since 382 BC. (最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1179#include #include #define MAXN 102 int map[MAXN][MAXN]; int from[MAXN],used[MAXN]; int match(int x,原创 2013-09-01 21:55:44 · 790 阅读 · 0 评论 -
hdu2119 Matrix (最小顶点覆盖)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2119题解:把行和列看成二分图的两部分,每个1连接一个行一个列,就是二分图的边,每个边只要选一个点就能删除,选择最少的点覆盖所有的边#include #include #define MAXN 102 int map[MAXN][MAXN原创 2013-09-01 20:16:21 · 622 阅读 · 0 评论 -
hdu1150 Machine Schedule (二分图的最小顶点覆盖)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150最小点覆盖数: 最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=最大匹配数#include #include #define MAXN 102 int map[MAXN][MAXN];原创 2013-08-10 11:17:44 · 688 阅读 · 0 评论 -
hdu1151 Air Raid (最小路径覆盖)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1151最小路径覆盖=最小路径覆盖=|N|-最大匹配数用尽量少的不相交简单路径覆盖有向无环图G的所有结点。解决此类问题可以建立一个二分图模型。把所有顶点i拆成两个:X结点集中的i和Y结点集中的i',如果有边i->j,则在二分图中引入边i->j',设二分图最大匹配为m,则结果就是n-m。原创 2013-08-10 12:07:42 · 621 阅读 · 0 评论 -
hdu2063 过山车 (匈牙利算法 二分匹配)
#include #include #define MAXN 1002int map[MAXN][MAXN];int from[MAXN],used[MAXN];int match(int x,int n)//匈牙利算法(二分匹配){ int i; for(i=1;i<=n;++i)//被匹配的男生 { if(!used[i]&&map[x][i]) { u原创 2013-07-31 20:28:31 · 720 阅读 · 0 评论 -
hdu1054 Strategic Game (最小顶点覆盖 邻接矩阵)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1054//最小顶点覆盖 == 最大匹配(双向图)/2#include #include #include #define MAXN 1505using namespace std;vectormap[MAXN];int from[MAXN],used[MAXN];int n原创 2013-08-11 22:48:28 · 869 阅读 · 0 评论 -
二分图:最大独立集&最大匹配&最小顶点覆盖
最大独立集问题Given N sets of integers, remove some sets so that the remaining all sets are disjoint with one another. Find the optimal solution so that the number of sets remaining at the end is maxim转载 2013-08-10 10:16:26 · 4628 阅读 · 0 评论 -
hdu3729 I'm Telling the Truth (最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3729题解:见http://blog.youkuaiyun.com/zizaimengzhongyue/article/details/8980736http://blog.sina.com.cn/s/blog_6ec5c2d00100vrm6.html#include #原创 2013-09-04 21:39:19 · 625 阅读 · 0 评论 -
hdu1083 Courses ( 二分图最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1083#include #include #define MAXN 302 int map[MAXN][MAXN]; int from[MAXN],used[MAXN]; int match(int x,int n)//匈牙利算原创 2013-08-11 22:48:50 · 557 阅读 · 0 评论 -
hdu4751 Divide Groups (二分图判定)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4751题解:判断所给的图能不能分成两个完全图。#include #include #define MAXN 102int mp[MAXN][MAXN],color[MAXN],Queue[MAXN],n;int BFS(int s){ int front,re原创 2013-10-03 10:25:44 · 742 阅读 · 0 评论 -
hdu4185 Oil Skimming (最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4185题解:水平和竖直方向;有#相邻,连一条边,求最大匹配。#include #include #include #define MAXN 602 #define MAXV 1000using namespace std; vect原创 2013-10-03 21:31:00 · 1125 阅读 · 0 评论 -
hdu1845 Jimmy’s Assignment (最大匹配Hopcroft-Karp算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1845#include #include #include #include #include #define MAXN 5001 using namespace std; int nx,ny,distx[MAXN],disty[MAXN]; in原创 2013-09-05 18:34:18 · 1040 阅读 · 0 评论 -
hdu3605 Escape (多重匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3605题解:多重匹配即 X 集合上的点对应 Y 集合上多个点 而 Y 集合上的点对应 X 中的一个点。#include #include #define MAXN 100001int mp[MAXN][11],visited[11];int capacity[11],n原创 2013-09-10 12:52:13 · 822 阅读 · 0 评论 -
hdu3395 Special Fish (KM)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3395题解:每只鱼最多只能攻击和被攻击一次,可能交配的鱼连一条边。#include #include #include #define INF 0x3f3f3f3f #define MAXN 101 int w[MAXN][MA原创 2013-09-09 23:00:02 · 770 阅读 · 0 评论 -
hdu4160 Dolls (二分图最大独立集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4160题解:将所有doll看作点,能嵌套的doll之间连一条线(匹配),问题转化为二分图最小路径覆盖//巧妙的转化为二分图最小路径覆盖#include #include #include #define MAXN 502using namespace std;原创 2013-08-14 10:12:26 · 766 阅读 · 0 评论 -
hdu2236 无题II (二分+最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2236#include #include #define MAXN 102 int mp[MAXN][MAXN]; int from[MAXN],used[MAXN];int mid,n,ptr;in原创 2013-09-06 20:07:45 · 936 阅读 · 0 评论 -
hdu1350 Taxi Cab Scheme (最小路径覆盖)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1350题解:起始时间+到目的地时间+目的地到下一个起始地时间#include #include #include #define MAXN 500int mp[MAXN][MAXN],from[MAXN],used[MAXN],m;struct node { in原创 2013-09-06 18:57:50 · 774 阅读 · 0 评论 -
hdu2768 Cat vs. Dog (最大独立集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2768题解:建图的对象应该是viewer,不是cats & dogs。寻找冲突的匹配,对于同一只cat||dog,viewer i喜欢 viewer j不喜欢,冲突,建立一条边。去除被viewer i hate 同时不被其他viewer like.即求最大独立集。最大独立点集== N (原创 2013-09-07 09:10:31 · 954 阅读 · 0 评论 -
hdu2444 The Accomodation of Students (二分图判断+最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2444题解:先判断图是不是二分图。问题描述:给定一个无向图G=,如何能够在O(V+E)时间内判断这个图是否是一个二分图(或者称为2着色)分析:如果这个无向图没有回路,那么它一定是可以二分的,我们直接就可以利用BFS来为二分图着色(根据当前节点的颜色,对其所有相邻节原创 2013-09-07 11:21:52 · 799 阅读 · 0 评论 -
hdu1068 Girls and Boys (二分图最大独立集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068#include #include #define MAXN 1002 int map[MAXN][MAXN]; int from[MAXN],used[MAXN]; //二分图最大独立集 = 顶点数 - 二分图最大匹配int match(int x,in原创 2013-08-10 10:10:43 · 998 阅读 · 0 评论 -
hdu3435 A new Graph Game (KM)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3435题解:见http://blog.youkuaiyun.com/lezg_bkbj/article/details/11395005#include #include #include #define INF 0x3f3f3f3f原创 2013-09-08 21:05:36 · 708 阅读 · 0 评论 -
hdu2255 奔小康赚大钱 (KM)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255题解:KM模版题。#include #include #define INF 0x3f3f3f3f#define MAXN 302int w[MAXN][MAXN],match[MAXN],n;int lx[MAXN],ly[MAXN],slack[MAXN];原创 2013-09-08 11:01:57 · 781 阅读 · 0 评论 -
hdu3722 Card Game (KM)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3722题解:将字符串分成X和Y集合(每个集合都是这n个节点),对于i和j这两个节点,他们的权值weight[i][j]就是将字符串s[i]拼接在字符串s[j]后面所得的值,这样建立起带权值的二分图之后,然后就是利用KM算法求解该二分图的最大权匹配.#include原创 2013-09-08 19:05:33 · 656 阅读 · 0 评论 -
hdu3488 Tour (KM最小权值和)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3488题解:对于环上的每个点,入度=出度=1,将每个点拆成入点和出点,相当于左边n个城市,右边n个城市,求最优匹配。由最优匹配的性质得,每个点都会在匹配中。相当于一个点出现两次,即一次入度,一次出度。#include #include #include原创 2013-09-08 20:28:58 · 847 阅读 · 0 评论 -
hdu1853 Cyclic Tour (KM算法求最小费用流)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853题解:对于环上的每个点,入度=出度,将每个点拆成入点和出点,每个入点和一个出点匹配即可。用km算法求最小权值和。#include #include #include #define INF 0x3f3f3f3f#define MAXN 102i原创 2013-09-08 17:06:53 · 821 阅读 · 0 评论 -
hdu1533 Going Home (KM算法最小权值和)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1533题解:要求的是最小权值之和,KM求的是最大权值之和。在建图的时候,将每条边的权值变为负数。然后lx[i]初始化为-INF,结果输出-ans,就可以得到最小权值。#include #include #include #define INF 0x3f3f3f3f原创 2013-09-08 12:19:08 · 758 阅读 · 0 评论 -
hdu2426 Interesting Housing Problem (KM邻接表)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2426题解:最大权值单边(nx的每一个点都在匹配中)完备匹配,不能把学生安排在rate小于0的房间,负权边舍弃。#include #include #define INF 0x3f3f3f3f #define MAXN 502 int w[MAXN原创 2013-09-09 07:49:22 · 708 阅读 · 0 评论 -
hdu2853 Assignment (KM最少改动边)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2853题解:把每条边的权值扩大k倍(k>n),然后属于原始任务的边权值+1,权值加1是为了当两条边权值相同时,更优先选择属于原始任务的边。假如原任务的h条边被选入了最优匹配中,最优权值就是k倍的最大权值+k(原计划的每条边都+1)。假如原计划的边全部在匹配中,只会增加n,又n 所以除以k后不原创 2013-09-09 20:21:32 · 689 阅读 · 0 评论 -
hdu2813 One fihgt one (KM最小权值和)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2813题解:KM模版题#include #include #include #define INF 0x3f3f3f3f #define MAXN 201 int w[MAXN][MAXN],match[MA原创 2013-09-10 08:38:50 · 623 阅读 · 0 评论 -
hdu4619 Warm up 2 (最大独立集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4619题解:水平多米若骨牌和竖直多米若骨牌有重叠连一条边,求最大独立集。#include #include #include #define MAXN 1002 using namespace std; vector mp[MAXN]; int原创 2013-10-03 11:15:21 · 682 阅读 · 0 评论