
二分图
文章平均质量分 59
chen_minghui
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 2771 uva12083 Guardian of Decency(二分图最大独立集)
题意:有一个十分保守的老师,准备带n个学生出游,他担心学生之间会成为couple,他认为按照以下规则可以使他们成为couple的可能性降低。1.两人之间的身高差大于402.两人同性3.喜欢的音乐风格不同4.最喜欢的运动相同(理由是:可能支持不同的队伍而大打出手)只要满足一个,就两人成为couple的可能性就很低,符合老师的要求。现在要求从n个人中,选出人数最多,且成为coupl原创 2017-05-11 23:01:24 · 280 阅读 · 0 评论 -
HDU 3861 The King’s Problem 强连通缩点+最小路径覆盖
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3861题意一个国家有n个城市,城市之间有m条单向道路。国王为了方便管理城市,决定给所有的城市分为一个州,会确保每个城市属于一个州。如果城市之间u,v之间能够相互到达,那么u,v必须分在同一个州,另外,如果从某个城市一条道路一直走到没有路可走,那么在这条路上的所有城市划分成一个州。求最小划分州数。思路tarj原创 2017-09-28 17:38:19 · 308 阅读 · 0 评论 -
HDU 2819 Swap 二分匹配
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2819题意给定一个n*n的矩阵,问是否能够交换任意两行或两列使得主对角线上为1.能的话,给出交换方式。思路左边为行号,右边为列号。如果第I行第j个位1,那么左边i结点到右边j结点之间连一条边。最大匹配如果不是n那么无解。#include<cstdio>#include<vector>#include<c原创 2017-08-31 10:52:36 · 231 阅读 · 0 评论 -
HDU 3118 Arbiter 二分图?
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3118题意问最少删除几条边,使图不含奇圈思路据说二分图就是不含奇圈的,那就枚举左边和右边的点吧,把同侧的点之间的边删掉,找到最小的。#include<cstdio>#include<cstring>#include<algorithm>const int maxn = 20;const int IN原创 2017-08-31 10:46:44 · 274 阅读 · 0 评论 -
hdu 1054 Strategic Game(模板) 最大二分匹配,最小点覆盖 匈牙利算法
给定一图求最小点覆盖。最大二分匹配=最小点覆盖bfs版匈牙利算法#include#include#include#includeusing namespace std;const int maxn = 1550;struct edge{ int from,to;};vector g[maxn];vector edges;int n;int check[maxn原创 2017-04-23 21:49:08 · 354 阅读 · 0 评论 -
poj 2536 Gopher II 二分匹配应用 匈牙利算法
题意:有某种动物n个,以及m个洞穴。给定n个动物坐标,以及m个洞穴坐标。每个动物有相同的运动速度v,单位是m/s。在老鹰来时,如果不能在s秒内(含s秒)躲进洞里,将会被吃,求怎么分配动物及洞穴,使得尽量少的动物被抓。思路:建立结点,左边为动物,右边为洞穴,对于左边任意一个动物,若能够在s秒内躲进右边任意一个洞穴,则之间连一条边。接下来就是求最大匹配,用总数减去最大匹配数,就是最少被抓数量。原创 2017-04-24 10:50:53 · 328 阅读 · 0 评论 -
poj 1235 Machine Schedule 最小点覆盖
题意:有两个机器a和b,它们各有n,m种工作模式。序号为0~n-1 ,0~m-1.起始时,a,b都处于工作模式0。现在有k个作业需要借助机器a和b。第I个作业需要a的第u个模式,或者b的第v个模式,可以表示成(I,u,v),因为装换工作模式只有重启才能调换。所以,在把所有作业完成的前提下,尽量少的重启机器,求出最小的重启次数。思路:对于某个工作牵涉a,b的两个工作模式,则在工作模式之间连一条边原创 2017-04-24 17:41:25 · 376 阅读 · 0 评论 -
hdu 2119 Matrix 二分图匹配(最大匹配)
题意:给定一个n*m的矩阵,其中只有0和1,现在要从矩阵中删除所有的1,删除可以按下面的规则进行,对于某个为1的位置,可以选择删除在同一行或同一列所有的1。求最小删除次数。思路:对于点(I,j)如果是1,则连一条I到j的边,求最大基数匹配#include#include#include#includeusing namespace std;const int maxn = 150原创 2017-04-24 21:44:44 · 454 阅读 · 0 评论 -
uva 12549 Sentry Robots 最大二分匹配
题意:在一个n*m的矩阵中,有p个重要位置,w个墙壁,现在要在重要位置处安置机器守卫,守卫可以朝一个方向扫描,守卫安置后,它朝向的所有重要位置,都将被覆盖,可以确保安全,但是墙壁可以阻碍视线。墙壁后的机器无法守卫。求用最少的机器,使得所有重要位置覆盖。思路:二分匹配求最小点覆盖。最大二分匹配=最小点覆盖。#include#include#include#includeusing n原创 2017-04-25 19:56:33 · 401 阅读 · 0 评论 -
UVa 1663 - Purifying Machine(二分匹配)
题意:给定m个长度为n的串,串只包含0,1,*,三个字符。其中,*号位置代表0或1。如果两个串只有一位不同,则可以“消去”,合并成一个带*号的。求最少几次可以合并所有的串思路:http://blog.youkuaiyun.com/wcr1996/article/details/48091795这种题目没想到还能这么构图,位运算真是让人眼前一亮。#include#includeusing namespace原创 2017-04-25 21:53:57 · 638 阅读 · 0 评论