【二分图匹配】E. 过山车
https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/E
【题意】
裸的最大匹配
【教训】
一开始边数开了k,建的是无向图,结果T了,改成2*k就A了
其实如果add(u,v+n)可以用无向图(注意边数)也可以用有向图。
如果add(u,v)只能用有向图,只从左边找右边。
【Accepted】
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<cmath> 6 #include<algorithm> 7 #include<queue> 8 using namespace std; 9 int k,n,m; 10 const int maxn=1e3+3; 11 const int maxm=1e3+3; 12 struct edge 13 { 14 int to; 15 int nxt; 16 }e[maxm]; 17 int tot; 18 int head[maxn]; 19 bool vis[maxn]; 20 int link[maxn]; 21 void init() 22 { 23 tot=0; 24 memset(head,-1,sizeof(head)); 25 memset(link,-1,sizeof(link)); 26 } 27 void add(int u,int v) 28 { 29 e[tot].to=v; 30 e[tot].nxt=head[u]; 31 head[u]=tot++; 32 } 33 34 bool find(int u) 35 { 36 for(int i=head[u];i!=-1;i=e[i].nxt) 37 { 38 int v=e[i].to; 39 //cout<<v<<endl; 40 if(!vis[v]) 41 { 42 vis[v]=true; 43 if(link[v]==-1||find(link[v])) 44 { 45 link[v]=u; 46 return true; 47 } 48 } 49 } 50 return false; 51 } 52 int main() 53 { 54 while(~scanf("%d",&k)) 55 { 56 if(k==0) 57 { 58 break; 59 } 60 init(); 61 scanf("%d%d",&n,&m); 62 while(k--) 63 { 64 int u,v; 65 scanf("%d%d",&u,&v); 66 add(u,n+v); 67 // add(n+v,u); 68 } 69 int ans=0; 70 for(int i=1;i<=n+m;i++) 71 { 72 memset(vis,false,sizeof(vis)); 73 if(find(i)) 74 { 75 ans++; 76 } 77 } 78 //cout<<ans/2<<endl; 79 cout<<ans<<endl; 80 } 81 return 0; 82 }
View Code
转载于:https://www.cnblogs.com/itcsl/p/7191355.html
【二分图匹配】E. 过山车相关推荐
- HDU 2063 过山车 二分图匹配 匈牙利算法
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU2063-过山车[Hopcroft-Carp]二分图匹配
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU 2063 过山车 (二分图匹配之匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- 过山车(二分图匹配)
RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐.但是,每个女孩 ...
- 【二分图最大匹配】【HDU2063】过山车
[科普]什么是BestCoder?如何参加? 过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- 匈牙利二分图最大匹配——过山车(hdu2063)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2063 题目描述: RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是, ...
- hdu2063过山车(二分图最大匹配)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...
- 杭电2063--过山车(二分匹配)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU 2063 过山车【二分图最大匹配】
Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生 ...
- [HDU - 2063] 过山车(二分图)
Link:http://acm.hdu.edu.cn/showproblem.php?pid=2063 过山车 Time Limit: 1000/1000 MS (Java/Others) Me ...
最新文章
- Linux环境中Visual Studio Code的配置使用----编译运行C/C++(良心教程)
- currentThread的一个复杂案例
- SQL Server 分布式数据库的问题和解决方法
- SQL Server2008导入导出数据库
- mybatis insert 动态生成插入的列及插入的值
- 【机器学习】K-Means(非监督学习)学习及实例使用其将图片压缩
- Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
- ASP.NET版在线客服系统源码 带服务端
- 【FPGA】——UART串口通信
- 一行Python代码计算两点间曼哈顿距离
- mysql索引简单介绍
- blender 中文手册 Blender从入门到精通
- RuntimeError: ./xxx.pth is a zip archive (did you mean to use torch.jit.load()?)
- 国科大模式识别与机器学习课程整理
- 世界你好python_Python基础01之“你好世界”
- 【SQL Server学习笔记】12:用SQL创建和扩大数据库空间
- Python——爬取单章小说内容
- 海森堡模型自洽平均场解
- 计算机打印状态错误,打印机开始打印就显示错误怎么办?
- c语言程序设计作业电话簿,C语言设计简易电话簿