hdu 2063+hdu 1083(最大匹配数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063
二分匹配水题,求最大匹配数(即求边数最多的匹配),匈牙利算法实现。。
1 #include<iostream> 2 const int MAXN=507; 3 using namespace std; 4 int k,m,n; 5 int map[MAXN][MAXN]; 6 int cx[MAXN],cy[MAXN]; 7 int mark[MAXN]; 8 9 int dfs(int u){ 10 for(int v=0;v<n;v++){ 11 if(map[u][v]&&!mark[v]){ 12 mark[v]=1; 13 if(cy[v]==-1||dfs(cy[v])){ 14 cx[u]=v; 15 cy[v]=u; 16 return 1; 17 } 18 } 19 } 20 return 0; 21 } 22 23 int MaxMatch(){ 24 int res=0; 25 memset(cx,-1,sizeof(cx)); 26 memset(cy,-1,sizeof(cy)); 27 for(int i=0;i<=m;i++){ 28 if(cx[i]==-1){ 29 memset(mark,0,sizeof(mark)); 30 res+=dfs(i); 31 } 32 } 33 return res; 34 } 35 36 37 int main(){ 38 while(~scanf("%d",&k)&&k){ 39 scanf("%d%d",&m,&n); 40 int x,y; 41 memset(map,0,sizeof(map)); 42 for(int i=0;i<k;i++){ 43 scanf("%d%d",&x,&y); 44 map[x-1][y-1]=1;//这里只需单向就行了,因为dfs是就是从X集合的未盖点出发的 45 } 46 int ans=MaxMatch(); 47 printf("%d\n",ans); 48 } 49 return 0; 50 } 51 52 53 54
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1083
1 #include<iostream> 2 const int MAXN=307; 3 using namespace std; 4 int cx[MAXN],cy[MAXN]; 5 int map[MAXN][MAXN]; 6 int mark[MAXN]; 7 int n,m; 8 9 int dfs(int u){ 10 for(int v=1;v<=m;v++){ 11 if(map[u][v]&&!mark[v]){ 12 mark[v]=1; 13 if(cy[v]==-1||dfs(cy[v])){ 14 cy[v]=u; 15 cx[u]=v; 16 return 1; 17 } 18 } 19 } 20 return 0; 21 } 22 23 int MaxMatch(){ 24 int res=0; 25 memset(cx,-1,sizeof(cx)); 26 memset(cy,-1,sizeof(cy)); 27 for(int i=1;i<=n;i++){ 28 if(cx[i]==-1){ 29 memset(mark,0,sizeof(mark)); 30 res+=dfs(i); 31 } 32 } 33 return res; 34 } 35 36 int main(){ 37 int _case; 38 scanf("%d",&_case); 39 while(_case--){ 40 scanf("%d%d",&n,&m); 41 memset(map,0,sizeof(map)); 42 for(int i=1;i<=n;i++){ 43 int t; 44 scanf("%d",&t); 45 while(t--){ 46 int x; 47 scanf("%d",&x); 48 map[i][x]=1; 49 } 50 } 51 int ans=MaxMatch(); 52 if(ans==n){ 53 printf("YES\n"); 54 }else 55 printf("NO\n"); 56 } 57 return 0; 58 } 59 60 61
转载于:https://www.cnblogs.com/wally/archive/2013/03/30/2990397.html
hdu 2063+hdu 1083(最大匹配数)相关推荐
- HDU 1068 Girls and Boys(最大独立集合 = 顶点数 - 最大匹配数)
HDU 1068 :题目链接 题意:一些男孩和女孩,给出一些人物关系,然后问能找到最多有多少个人都互不认识. 转换一下:就是大家都不认识的人,即最大独立集合 #include <iostream ...
- HDU 6178 Monkeys (匹配数+贪心)*
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6178 #include<bits/stdc++.h> using namespace st ...
- HDU 1853 HDU 3488【有向环最小权值覆盖问题 】带权二分图匹配 KM算法
HDU 1853 & HDU 3488[有向环最小权值覆盖问题 ]最小费用最大流 In the kingdom of Henryy, there are N (2 <= N <= ...
- HDU 1853 HDU 3488【有向环最小权值覆盖问题 】最小费用最大流
HDU 1853 & HDU 3488[有向环最小权值覆盖问题 ]带权二分图匹配 KM算法 In the kingdom of Henryy, there are N (2 <= N & ...
- Acwing 1083. Windy数
Acwing 1083. Windy数 题意: Windy 定义了一种 Windy 数:不含前导零且相邻两个数字之差至少为 2 的正整数被称为 Windy 数. Windy 想知道,在 A 和 B 之 ...
- UVALive 2523 Machine Schedule(二分图求最大匹配数)
题意:有两台机器,上面有多个工作区域,有多个任务,分别可以在两台机器的某一个区域上完成,两台机器一开始都在0区域上工作,每次更改区域,都会重新启动一次,让我们求出最小的重启次数. 思路:将两个区域连线 ...
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
二分图匹配 二分图大讲堂--彻底搞定最大匹配数(最小覆盖数).最大独立数.最小路径覆盖.带权最优匹配(转) 文本内容框架: §1图论点.边集和二分图的相关概念和性质 §2二分图最大匹配求解 匈牙利算法 ...
- 母函数+例题(hdu 2079+hdu 2082)
母函数+例题(hdu 2079+hdu 2082) 虽然ACM的确有点力不从心,但是还是贵在坚持,继续啃啃算法..... 昨天一个下午学了学母函数,离散数学+幂级数,只能说nb- 看了半天的原理,结果 ...
- HDU - 2063 过山车(二分图最大匹配)
题目链接:点击查看 题目大意:中文题目,不多赘述 题目分析:二分图最大匹配问题,匈牙利经典算法模板题,感觉这个博客写的很好,插个眼: https://article.itxueyuan.com/Aea ...
最新文章
- 以下构成python循环结构的方法中_超星尔雅初级英语口语(持续更新中)选修课答案...
- 通过Windows Azure Connect ,实现本地机器与Windows Azure 虚拟机的相互连接(转+译)...
- 自动挂载ios_开机自动挂载iso
- C# MVC使用阿里云对象存储加快图片加载速度(一)
- 计算机二级access知识点6,2019年计算机二级ACCESS考试知识点:关系数据模型
- FCPX插件:Color Titles动画彩色文本标题
- 计算机视觉技术测试物体距离,应用计算机视觉技术检测物体的形变
- Indeterminate ProgressBar
- 如何运行PowerShell的脚本文件
- iOS学习资源(五)
- 时间状语:(现在完成时)/ 固定语句(现在完成时)/29主动表被动/23过去完成时:又 名 过去的过去;/过去将来时/(过去完成时)/25 过去完成时,固定搭配/26 时间状语 (将来完成时)
- 共模干扰与差模干扰(及其消除)
- 计算机科学论文生成器,软件自动生成假论文:满篇废话
- 社交 APP 唔哩星球完成数百万元天使轮融资,投资方为启明创投
- Ubuntu突然无法解析域名解决
- dhcp计算机毕业论文,计算机网络毕业设计(论文)dhcp在校园网中的应用.pdf
- Unity实现人物移动和镜头跟随
- Java基础知识Day08---Scaner类
- 对项目经理而言,PMP是否对职业生涯的发展有帮助?
- Redis底层数据结构介绍
热门文章
- C#正则实现匹配一块代码段
- [Swift]LeetCode160. 相交链表 | Intersection of Two Linked Lists
- SpringBoot系列: Web应用鉴权思路
- time datetime 模块
- TCGA收官之作—27篇重磅文献绘制“泛癌图谱”
- Mybatis【一对多、多对一、多对多】知识要点
- 注册服务(addService)
- 安卓高手之路 图形系统(2)----------------基于Binder的架构思路)
- Ubuntu adb 报错:no permissions (user in plugdev group; are your udev rules wrong?);
- synchronized和ReentrantLock区别