二分图匹配
飘过的小牛
不停成长才会洞悉成功的奥妙,fighting!
展开
-
NYOJ-239 月老的难题
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=239解题思路:二分图的最大匹配。模板题,开始学习二分图了。。。匈牙利算法。代码如下:#include#includeusing namespace std;#define N 10010#define M 510int head[M], next[N]原创 2011-11-28 21:09:56 · 2140 阅读 · 0 评论 -
HDU-2426 Interesting Housing Problem
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2426题目大意:现在有1所学校,N个学生,M个公寓,还有一个R值,代表学生对该公寓的满意度,如果为正数,越高表示越喜欢住在该所公寓,0表示不喜欢也不讨厌(意思就是可以住),如果为负数则代表不喜欢住,也不能住(要不小心起义~)。现在校长想让所有学生的满意度最高,而且学生跟公寓是一一对应的,另外,学原创 2012-01-04 14:58:41 · 2216 阅读 · 0 评论 -
HDU-3435 A new Graph Game
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3435题目大意:给你一个图,求出二分图最优匹配,权值最小。可能有重边(保留重边中权值最小的即可)。解题思路:经典思路: 1.负数2.大数-边权值代码如下:#include#include#include#include#includeusing namespace原创 2012-01-04 14:31:32 · 1763 阅读 · 0 评论 -
HDU-1853 Cyclic Tour
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853题目大意:给你n个城市和m条路,现在汤姆想要旅游所有的城市,而且每个城市只能经过一次,当然,旅游路上有一点的花费,现在问汤姆怎么走才能使总花费最小。解题思路:二分图最优匹配的最小权问题。KM取负数实现。。经典思路。代码如下:#include#include#includ原创 2012-01-03 16:11:53 · 2110 阅读 · 1 评论 -
HDU-1533 Going Home
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1533题目大意:给你一个N行M列的矩阵,其中“.”代表空地,“H”代表房子,“m”代表人,其中有n个房子和n个人。现在要求每个人进入一间房子,且人走一步需要支付1美元。求最小需要花费多少美元才能让所有人都进入到房子中(每个人只能进入一间房子,每个房子只能容纳一个人)。解题思路:这道题原创 2012-01-03 12:44:28 · 3468 阅读 · 0 评论 -
HDU-2255 奔小康赚大钱
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255解题思路:二分图最优匹配的裸题,需要学习一下KM算法。。这道题也可以用网络流做,等学了网络流之后再写一下网络流的解题思路。本题提供2个版本,一个是最朴素的KM算法,一个是优化后的KM算法(另外使用了输入外挂,成功刷入杭电前三)代码如下:#include#include#原创 2012-01-02 16:17:53 · 4358 阅读 · 1 评论 -
HDU-2813 One fihgt one【二分图最优匹配】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2813解题思路:二分图最优匹配。map+KM,好像最优的算法应该是字典树+KM。不过还是过了。。。。700+ms代码如下:#include#include#include#include#include#includeusing namespace std;原创 2012-01-07 23:40:36 · 1882 阅读 · 0 评论 -
HDU-3829 Cat VS Dog
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3829题目大意:有p个小朋友参观动物园,动物园里面有两种动物,分别为猫和狗。规定一个小朋友喜欢猫就讨厌狗,喜欢狗就讨厌猫。现在管理员要移走0一些动物,当然,移走也是有条件的。比如一个小朋友喜欢猫3,讨厌狗4.那么移走狗4,这个小朋友就会非常开心。同样,如果移走猫3,小朋友就会很不高兴。现在问原创 2011-12-16 09:11:11 · 2868 阅读 · 2 评论 -
HDU-1068 Girls and Boys
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068题目大意:现在由N个同学,他们之间可能有一定的浪漫关系,给出存在浪漫关系的同学。现在一个研究者要找出一个最大的同学的集合,这个集合满足的条件是:任意两个同学都没有浪漫关系。求这个集合的最大人数。解题思路:二分图的最大独立集。但是这道题有一点不同,它没有告诉我们是男生还是女生,所原创 2011-12-15 10:47:37 · 1246 阅读 · 0 评论 -
POJ-3041 Asteroids
题目链接:http://poj.org/problem?id=3041题目大意:给你一个nxn的方阵,X代表一个敌人,可以在方阵内放置炸弹,炸弹可以炸掉所在在一行或者所在的一列,求最少需要多少个炸弹才能炸掉所有的敌人。解题思路:我们可以把行的坐标当成X集合,列坐标当成Y集合,那么每个敌人就是一条边。这样就构成了一个二分图。要求的是二分图最小点集覆盖。由定理可知,二分图最小点原创 2011-12-11 19:04:42 · 1768 阅读 · 0 评论 -
POJ-2446 Chessboard
题目链接:http://poj.org/problem?id=2446题目大意:给你一个m*n的棋盘,其中有k个小洞,现在给你1*2的纸片,如果能恰好覆盖没有洞的全部格子,而且每个格子不能被覆盖2次,一张纸也必须是1*2规模的,这样就输出YES。解题思路:这道题是搜二分图搜到的。但是竟然一点也看不出来哪里能用二分图最大匹配来做。只好去搜题解了。。。思路是:把这个棋盘看成一个原创 2011-12-01 15:56:22 · 3804 阅读 · 1 评论 -
POJ-2536 Gopher II
题目链接:http://poj.org/problem?id=2536题目大意:有n只地鼠的坐标,m个洞的坐标,地鼠的移动速度为v,在s秒以后会飞来一只老鹰要吃地鼠,问有多少个地鼠可能被吃。解题思路:二分图最大匹配。匹配多了一个条件判断距离而已。。。代码如下:#include#include#include#include#includeusing names原创 2011-12-01 11:30:53 · 2933 阅读 · 0 评论 -
POJ-2239 Selecting Courses
题目链接:http://poj.org/problem?id=2239题目大意:现在有N门课程,从1到N。然后一个学生爱学习,想学习尽可能多门的课程,每门课程在一星期内可以开设多次,但不同课程之间可能有冲突,上课时间为:每周7天,一天12节课,现在给你每门课程的上课时间,求这个学生一周之内最多上几门课程。解题思路:可以转换为二分图最大匹配。一个集合为课程,一个集合为上课时间原创 2011-12-01 10:48:15 · 2719 阅读 · 0 评论 -
POJ-1469 COURSES
题目链接:http://poj.org/problem?id=1469题目大意:给你p门课程和n个学生,一个学生可以选0门,1门,或者多门课程,现在要求一个由p个学生组成的集合,满足下列2个条件:1.每个学生选择一个不同的课程2.每个课程都有不同的代表如果满足,就输出YES解题思路:二分图最大匹配。邻接矩阵map[i][j]表示j号学生喜欢i号课程,然后对课原创 2011-11-30 08:50:40 · 5355 阅读 · 0 评论 -
POJ-1274 The Perfect Stall
题目链接:http://poj.org/problem?id=1274题目大意:有n头牛和m个牛棚,现在牛要产奶,但是每个牛只在自己喜欢的牛棚才产奶,求最多的产奶量。解题思路:二分图的最大匹配。邻接矩阵实现,map[i][j] = 1,代表奶牛i喜欢在j牛棚产奶,然后遍历牛棚,如果有牛喜欢在这里产奶,就把那头牛标记一下。之后遍历奶牛,如果标记则代表有匹配的牛棚,可以产奶,然原创 2011-11-29 17:57:38 · 1901 阅读 · 0 评论 -
HDU-2063 过山车
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063、解题思路:二分图最大匹配。匈牙利算法即可解决,但是注意的是男生和女生数目不相等,所以需要用少的去挑多的。代码如下:#include#include#includeusing namespace std;#define N 1010#define M 510#def原创 2011-11-29 09:47:47 · 1432 阅读 · 0 评论 -
HDU-2853 Assignment【二分图最优匹配】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2853题目大意:现在有N个部队和M个任务(M>=N),每个部队完成每个任务有一点的效率,效率越高越好。但是部队已经安排了一定的计划,这时需要我们尽量用最小的变动,使得所有部队效率之和最大。求最小变动的数目和变动后和变动前效率之差。解题思路:这道题刚开始思路很清晰:求出变动前的效率,然后求原创 2012-01-04 20:40:43 · 2974 阅读 · 1 评论