二分图
OriginalRecipe
这个作者很懒,什么都没留下…
展开
-
Air Raid HDU-1151有向图转二分图+匈牙利算法
题目链接:HDU - 1151 主要思路:这里拿一组样例来解释。输入数据:1651 22 33 64 55 3将有向图转化为二分图后,不难看出本题是求最小顶点覆盖。同时关注到题目中的一个条件(使得不止一个伞兵不会到达交叉点)。算法正确性:一开始有m个独立的点,也就是m条独立的道路,每一个匹配就是把两条道路合为一条道路,故所求的最少所需的伞兵...原创 2018-08-10 15:31:19 · 763 阅读 · 1 评论 -
G - 50 years, 50 colors HDU - 1498 二分图
题目链接:HDU-1498主要思路:对于每一个当前颜色的气球,我们有两种方式将它引爆,一是它所在的行被引爆(可能是引爆它,也可能是引爆与它同行的相同颜色的气球),二是它所在的列被引爆(注意事项同上)。这两种方式在引爆一个气球时只会被执行一种。故建立二分图,求行与列的最大匹配即可。AC代码:#include<cstdio>#include<cstring>...原创 2018-08-10 19:18:24 · 120 阅读 · 0 评论 -
Taxi Cab Scheme HDU - 1350 二分图最小路径覆盖
题目链接:HDU-1350这道题和HDU-1151Air Riad十分相似,只是这道题没有给出边,需要自行造边。同样的将有向图转化为二分图,每条左边的点X连向右边的点Y的边的意义为可以先接乘客X,再接乘客Y(即送完乘客X后直接开到乘客Y的上车地点小于乘客Y的上车时间(注意是小于,没有等于))这种方案在时间上可行。即初始需要M个司机,每个匹配都可以省掉一个司机,故本题就是求M-最大匹配,即最小路...原创 2018-08-10 19:29:04 · 166 阅读 · 0 评论 -
Warm up 2 HDU - 4619 二分图 匈牙利算法
题目链接:HDU-4619主要思路:首先,先看懂题目(表示由于英语问题给题目卡了很久)。最终合法情况是棋盘上没有相互覆盖的骨牌。其中方向相同的不会覆盖是题目输入数据的条件。我们对每个点进行分析,每个点只能和他周围的四个点构成一个骨牌(当然这个骨牌要存在)。故在一个骨牌中两个点为一个配对,而一个棋盘内有两种点(相邻的两个点不同种),每条边都由其中一种点指向另一种点,最后算最大匹配即可。...原创 2018-08-08 16:34:08 · 150 阅读 · 0 评论