Luogu P2756 [网络流24题]飞行员配对方案问题_二分图匹配
二分图模板题
我用的是匈牙利
其实最大流也可以做
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#define MAX 200
#define MAXL 200*200
using namespace std;
struct Line{
int v,next;
}e[MAXL];
int h[MAX],cnt=0,sum=0,match[MAX],n,m,u,v;
bool vis[MAX];
void addedge(int u,int v){
e[cnt]=(Line){v,h[u]};
h[u]=cnt++;
}
bool dfs(int u){
for(int i=h[u];i!=-1;i=e[i].next){
int v=e[i].v;
if(!vis[v]){
vis[v]=true;
if(!match[v] or dfs(match[v])){
match[v]=u;
return 1;
}
}
}
return 0;
}
int main(){
memset(h,-1,sizeof(h));
scanf("%d%d",&n,&m);
while(1){
scanf("%d%d",&u,&v);
if(u==-1)break;
addedge(u,v);
}
for(int i=1;i<=n;i++){
memset(vis,0,sizeof(vis));
if(dfs(i))sum++;
}
cout<<sum<<endl;
for(int i=n+1;i<=m;i++){
if(match[i]){
printf("%d %d\n",match[i],i);
}
}
return 0;
}
Luogu P2756 [网络流24题]飞行员配对方案问题_二分图匹配的更多相关文章
- Luogu P2756 [网络流24题]飞行员配对方案问题_二分图匹配题解
二分图模板题 我用的是匈牙利 其实最大流也可以做 #include<iostream> #include<cstdio> #include<cstdlib> #in ...
- 【洛谷 P2756】 飞行员配对方案问题(二分图匹配,最大流)
题目链接 这不是裸的二分图匹配吗? 而且匈牙利算法自带记录方案.. 但既然是网络流24题,那就用网络流来做吧. 具体就是从源点向左边每个点连一条流量为1的边,两边正常连边,流量都是一,右边所有点向汇点 ...
- 洛谷P2756 飞行员配对方案问题(二分图匹配)
传送门 一个基础的二分图匹配(虽然今天才学会) 因为不会匈牙利算法只好用网络流做 先新建一个超级源和超级汇,源往所有左边的点连边,所有右边的点往汇连边 然后跑一边最大流就好了 顺便记录一下匹配到谁就好 ...
- Luogu 2756 飞行员配对方案问题(二分图最大匹配)
Luogu 2756 飞行员配对方案问题(二分图最大匹配) Description 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞 ...
- 洛谷 P2756 飞行员配对方案问题 (二分图/网络流,最佳匹配方案)
P2756 飞行员配对方案问题 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其 ...
- 【网络流24题】No.18 分配问题 (二分图最佳匹配 费用流|KM)
[题意] 有 n 件工作要分配给 n 个人做.第 i 个人做第 j 件工作产生的效益为 cij . 试设计一个将n 件工作分配给 n 个人做的分配方案, 使产生的总效益最大. 输入文件示例input. ...
- 网络流24题 gay题报告
洛谷上面有一整套题. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 extra ①飞行员配对方案问题.top 裸二分图匹 ...
- P2756 飞行员配对方案问题(网络流24题之一)
题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外 ...
- [网络流 24 题] luoguP2756 飞行员配对方案问题
[返回网络流 24 题索引] 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的 222 名飞行员,其中 111 名是英国飞行员,另 ...
随机推荐
- linux下git常用命令
1 安装: sudo apt-get install git 2 创建一个版本库: 新建一个文件夹,进入这个目录之后 git init 3 创建一个版本: git add 文件名或目录 #表示将当前文 ...
- python开发:初识python
python简介 Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube.D ...
- ios8新的api
self.navigationController.hidesBarsOnSwipe=YES; 滚动时隐藏导航栏
- LabelFrame
LabelFrame组件是Frame组件的变体. 默认情况下,LabelFrame会在其子组件的周围绘制一个边框以及一个标题. 何时使用LabelFrame组件?当你想要奖一些相关的组件分为一组的时候 ...
- JEECG中的模糊查询
以一个使用代码生成器创建的通讯录(maillist)为例: @RequestMapping(params = "datagrid") public void datagrid(Ma ...
- amd屏幕亮度无法调整,无法调节亮度
1:CMD+R键打开"运行",输入"regedit"进入注册表 2:搜索"KMD_EnableBrightnessInterface2",找 ...
- HDFS简介及相关概念
HDFS简介: HDFS在设计时就充分考虑了实际应用环境的特点,即硬件出错在普通服务集群中是一种常态,而不是异常. 因此HDFS主要实现了以下目标: 兼容廉价的硬件设备 HDFS设计了快速检测硬件故障 ...
- 运用正则+replace+substring将一段英语的字母大写 angurlar运用自定义指令filter完成首字母大写
复习下js基础并运用正则+replace+substring将一段英语的字母大写 <!DOCTYPE html><html> <head> <meta cha ...
- jQuery中的for循环var与let的区别
今天在写jQuery请求接口中发现一个问题: 在用AJAX发送请求中又嵌套了一个AJAX请求,发现在内层请求的success中对第一次success中的循环变量 i 无法获取,具体代码如下: $.aj ...
- 以 Angular 的姿势打开 Font-Awesome
环境 Angular: v5.2.9 Font-Awesome: v5.0.10 angular-fontawesome: v0.1.0-9 无须再用传统的 Web Font 方式 以前习惯于 Fon ...