匹配
文章平均质量分 51
拉风的啤酒肚
菜鸟一枚若发表的文章有所错误望各位大神提出意见
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU1845(最大匹配)
两个点集,个数都为n,求出最大匹配,然后除以2#include #include #include #include #include #include #define maxn 5005#define LL long longusing namespace std;int n;vector G[maxn];int lx[maxn],ly[maxn];bool vis原创 2014-04-15 21:07:33 · 937 阅读 · 0 评论 -
HDU2444(最大匹配)
题意:有n个人,和m种关系,代表a和b认识。要求将n个人放入到两个集合中,每个集合中的人互不认识,A集合中的人找B集合的人住房间,两个人一间,且两个人必须认识,问你最多能住多少间房间。思路:先确定A、B集合中各有哪些人,我们可以用个数组表示每个人在哪个集合中,若有重复,则输出No,反之再找最大匹配。#include #include #include #include #inclu原创 2014-04-17 20:04:37 · 1382 阅读 · 0 评论 -
HDU3861(强连通+最小覆盖路径)
题意:国王要给n个城市进行规划,分成若干个州。如果:1、有边u到v以及有边v到u,则u,v必须划分到同一个州内。2、一个州内的两点至少要有一方能到达另一方。3、一个点只能划分到一个州内。思路:先把能相互两两到达的点用强连通归为一个州,然后再进行缩点,建立新图,然后用匈牙利算法求出最大匹配,答案=强连通求出的联通块-最大匹配(最小路径覆盖=结点数-最大匹配)。#include #inclu原创 2014-04-19 10:11:40 · 1597 阅读 · 0 评论 -
HDU1179(二分匹配(匈牙利算法))
题意为:有n个人要去买魔杖,有m根魔杖(和哈利波特去买魔杖的时候一样,是由魔杖选人)。接下来是m行,每行第一个数k是第i根魔杖可以选的人数,接着k个数表示这根魔杖选的人的编号。最后问老板最多能卖出多少根魔杖。这个赤裸裸的模版题,套下就OK了。#include #include #include #include #include #include #include #includ原创 2014-04-07 18:19:23 · 1485 阅读 · 0 评论 -
HDU1281(最大二分匹配+枚举)
求能放最多的车,就是求最大二分匹配。判断是不是重要点,只需把出去这个点,走一遍最大匹配,看结果是不是一样,如果一样,则不是重要点,然后枚举每个点即可。#include #include #include #include #include #include #include #include #include #define LL long long#define maxn原创 2014-04-07 19:19:53 · 977 阅读 · 0 评论 -
HDU1507(最大二分匹配)
题意:给你一个n*m的地,然后给你p个点,表示这些点代表的地是不能卖的,问你最多能卖出多少块1*2的地。找出i+j为奇数的且能卖的地,作为集合1,与这块地相邻的且能卖的地为集合2,这就转化为最大二分匹配了。#include #include #include #include #include #include #include #include #include #de原创 2014-04-08 20:38:14 · 1389 阅读 · 0 评论 -
HDU1528(最大二分匹配)
题意:k表示有k张牌,然后第一行是Adam的牌,第二行是Eve的牌,每两个字符代表一张牌,第一个字符表示牌的点数,第二个表示牌的花色。Adam和Eve每次从自己的牌中选出一张牌进行比较,谁的牌大,谁就加一分,问你Eve最多能得到多少分。思路:最大二分匹配,Eve的牌为集合1,Adam的牌为集合2,集合1中的牌与集合2中比它小的牌建立联系,找最大匹配。#include #include原创 2014-04-09 16:12:18 · 1016 阅读 · 0 评论
分享