hdu2063 匈牙利算法 二分最大匹配模版题
过山车
Time Limit: 1000 MS Memory Limit: 32768 KB
64-bit integer IO format: %I64d , %I64u Java class name: Main
Description
Input
1<=N 和M<=500.接下来的K行,每行有两个数,分别表示女生Ai愿意和男生Bj做partner。最后一个0结束输入。
Output
Sample Input
6 3 3
1 1
1 2
1 3
2 1
2 3
3 1
0
Sample Output
3 (……不知道怎么打题,就直接复制粘贴了) 一开始用dfs做,稀里糊涂的的WA了,后来问同学才知道是二分最大匹配,看了啊哈!算法(不得不说,这本书真的很棒)学了一下,差不多就打出来
具体思路就是一个一个配对,如果已经名花有主了,就让那个主换支花,如果那个主不喜欢其他的花,那就木有办法了,你就只能 single dog~single dog~single all the day~
可能难点是每次开始匹配一个人的时候都要清一次visit的零,因为每个boy一开始都要从第一个girl开始找啊……
PS:代码真的只有打出来才觉得不难
#include<stdio.h>
#include<string.h>
int visit[];
int peidui[][];
int link[];
int a,b,n;
int finding(int a){
for(int i=;i<=b;i++){
if(peidui[a][i]==&&visit[i]==){
visit[i]=;
if(link[i]==||finding(link[i])){
link[i]=a;
return ;
}
}
}
return ;
}
int main(){
while(~scanf("%d",&n)&&n){
scanf("%d%d",&a,&b);
for(int i=;i<n;i++){
int p,q;
scanf("%d%d",&p,&q);
peidui[p][q]=;
}
int sum=;
for(int i=;i<=a;i++){
memset(visit,,sizeof(visit));
if(finding(i)) sum++;
}
printf("%d\n",sum);
memset(link,,sizeof(link));
memset(peidui,,sizeof(peidui));
}
return ;
}
hdu2063 匈牙利算法 二分最大匹配模版题的更多相关文章
- # 匈牙利算法(二分图最大匹配)- hdu 过山车
匈牙利算法(二分图最大匹配)- hdu 过山车 Hdu 2063 二分图:图中的点可以分成两组U,V,所有边都是连接U,V中的顶点.等价定义是:含奇数条边的图. 匹配:一个匹配是一个边的集合,其中任意 ...
- 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
如下图:要求最多可以凑成多少对对象 大佬博客: https://blog.csdn.net/cillyb/article/details/55511666 https://blog.csdn.net/ ...
- 无权二分图最大匹配 HDU2063 匈牙利算法 || Hopcroft-Karp
参考两篇比较好的博客 http://www.renfei.org/blog/bipartite-matching.html http://blog.csdn.net/thundermrbird/art ...
- 【01染色法判断二分匹配+匈牙利算法求最大匹配】HDU The Accomodation of Students
http://acm.hdu.edu.cn/showproblem.php?pid=2444 [DFS染色] #include<iostream> #include<cstdio&g ...
- CF 277.5 B.BerSU Ball 二分图的最大匹配 模版题
题意:求二分图的最大匹配数量 模版如下: //二分图匹配(匈牙利算法的DFS实现) //初始化:g[][]两边顶点的划分情况 //建立g[i][j]表示i->j的有向边就可以了,是左边向右边的匹 ...
- poj1274 匈牙利算法 二分图最大匹配
poj1274 题意: 有n个奶牛, m个畜舍, 每个畜舍最多装1头牛,每只奶牛只有在自己喜欢的畜舍里才能产奶. 求最大产奶量. 分析: 其实题意很明显, 二分图的最大匹配, 匈牙利算法. #incl ...
- 51 NOd 2006 飞行员配对(匈牙利算法二分匹配)
题目来源: 网络流24题 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 第二次世界大战时期,英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一 ...
- Can you find it? HDU-2141 (二分查找模版题)
Description Give you three sequences of numbers A, B, C, then we give you a number X. Now you need t ...
- HDU 1083 Courses(最大匹配模版题)
题目大意: 一共有N个学生跟P门课程,一个学生可以任意选一 门或多门课,问是否达成: 1.每个学生选的都是不同的课(即不能有两个学生选同一门课) 2.每门课都有一个代表(即P门课都被成功选过 ...
随机推荐
- fileupload实现控制大小进行图片上传
if ($(".img-upload").length > 0) { $('.img-upload').fileupload({ type: 'POST', url: &qu ...
- iOS正则表达
问题引入 1.要验证用户输入的密码长度是否满足6~18位的长度 ^.{6,18}$ 2.固定电话都是0区号-八位数字的格式,那么正则表达式的匹配如下 ^0\\d{2}\-?\\d{8}$ 3.对于密码 ...
- IIS 发布程序,无法输出EXCEL 问题处理
[解决方案1] 1:在服务器上安装office的Excel软件. 2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务&quo ...
- angular-file-upload+springMVC的使用
最近项目中需要用到文件上传,使用了angular-file-upload插件完成 首先来介绍下这个插件的一些属性(参考官方文档) FileUploader 属性 url {String}: 上传文件的 ...
- Symfony没有安装依赖_PHP Fatal error: require(): Failed opening required
$ php bin/console server:run PHP Warning: require(D:\home\workspace\pd\app/../vendor/autoload.php): ...
- 第33届 MPD软件工作坊(南京站)有哪些亮点值得我们参加?
MPD软件工作坊由msup2010年创办,自创办以来,共吸引了万名的软件从业者到场参与.第33届 MPD软件工作坊(南京站)将于12月17-18日在南京召开,大会报名平台:活动家! 快捷报名通道:ht ...
- [SOJ]连通性问题
Description 关系R具有对称性和传递性.数对p q表示pRq,p和q是0或自然数,p不等于q.要求写一个程序将数对序列进行过滤,如果一个数对可以通过前面数对的传递性得到,则将其滤去.例如:输 ...
- ACboy needs your help hdu 分组背包问题
Description ACboy has N courses this term, and he plans to spend at most M days on study.Of course,t ...
- 【for陷阱】遍历的同时删除元素
今晚,哦不,是昨晚了,想删除空行时,给for语句和列表坑得好惨!!! 一般来说,删除字符串的空行有以下几种常见的方法~(然而我竟然想不出来) 假设我们要把下面的字符串之间的空行给去掉 # coding ...
- cocos坐标系及坐标转换
cocos2dx的坐标系是以左下角为(0,0)点, 向右上为正 世界坐标系:相对于屏幕位置的坐标表示 节点坐标系:相对于父节点的坐标表示 可以相互转换: /** * 将世界坐标转换成节点坐标,忽略锚点 ...