[Cogs14] [网络流24题#1] 飞行员分配方案 [网络流,最大流,二分图匹配]

经典二分图匹配,可以用匈牙利算法,也可以用最大流

代码如下(Dinic):

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <algorithm>
#include <queue>using namespace std;template<const int _n>
struct Edge
{struct Edge_base { int    to,next,w; }e[_n]; int    p[_n],cnt;void    insert(const int x,const int y,const int z){ e[++cnt].to=y; e[cnt].next=p[x]; e[cnt].w=z; p[x]=cnt; return ; }int    start(const int    x) { return p[x]; }void    clear() { cnt=1;memset(p,0,sizeof(p)); }Edge_base&    operator[](const int x) { return e[x]; }
};int    n,m,flow,SSS,TTT;
int    level[110],From[110],From_e[110];
Edge<310>    e;bool    Bfs(const int S)
{int    i,t;queue<int>    Q;memset(level,0,sizeof(level));memset(From,0,sizeof(From));level[S]=1;Q.push(S);while(!Q.empty()){t=Q.front(),Q.pop();for(i=e.start(t);i;i=e[i].next){if(!level[e[i].to] && e[i].w){level[e[i].to]=level[t]+1;Q.push(e[i].to);From[e[i].to]=t;From_e[e[i].to]=i;if(e[i].to==TTT)goto End;}}}
End:if(!level[TTT])return false;flow++;for(i=TTT;i!=SSS;i=From[i])e[From_e[i]].w--,e[From_e[i]^1].w++;return true;
}int    Dinic()
{while(Bfs(SSS));return flow;
}int main()
{freopen("flyer.in","r",stdin);freopen("flyer.out","w",stdout);int    i,x,y;scanf("%d%d",&m,&n);m=m-n;while(scanf("%d%d",&x,&y)==2){if(x>y)swap(x,y);e.insert(x,y,1);e.insert(y,x,0);}SSS=n+m+1,TTT=n+m+2;for(i=1;i<=n;++i){e.insert(SSS,i,1);e.insert(i,SSS,0);}for(i=n+1;i<=m+n;++i){e.insert(i,TTT,1);e.insert(TTT,i,0);}printf("%d\n",Dinic());return 0;
}

匈牙利代码:http://www.cnblogs.com/Ngshily/p/4988909.html

转载于:https://www.cnblogs.com/Gster/p/4989304.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

叉/连接框架

本文是我们学院课程中名为Java Concurrency Essentials的一部分 。 在本课程中&#xff0c;您将深入探讨并发的魔力。 将向您介绍并发和并发代码的基础知识&#xff0c;并学习诸如原子性&#xff0c;同步和线程安全之类的概念。 在这里查看 &#xff01; 目录 1.简介 2.叉/连…

python 建筑建模_不可错过的python 街道数据爬取和分析神器!

hello 大家好&#xff01;最近遇到一堆关于街道数据分析的问题&#xff0c;又不想去使用百度和高德的API&#xff0c;有的功能还是得付费&#xff0c;为了学习不想掏钱&#xff0c;那么有什么办法么&#xff1f;答&#xff1a; 有&#xff01;必须有&#xff01;今天给大家分享…

​qemu-img 转换:raw、qcow2、qed、vdi、vmdk、vhd虚拟磁盘格式

qemu-img 转换&#xff1a;raw、qcow2、qed、vdi、vmdk、vhd 所述的qemu-IMG转换命令可以执行多种格式&#xff0c;包括之间的转换qcow2&#xff0c;qed&#xff0c; raw&#xff0c;vdi&#xff0c;vhd&#xff0c;和vmdk。 qemu-img 格式字符串 图片格式 qemu-img 的参数 …

我是如何使用git把本地代码上传到CODECHINA上的,值得借鉴

背景&#xff1a;最近开发了一款城市公交查询系统。没有把代码上传到github&#xff0c;传到CODECHINA试试&#xff0c;先占个坑。 首先进入自己的个人主页&#xff0c;没有自己资料信息的先设置一下&#xff0c; codeChina官网&#xff1a;https://codechina.csdn.net/ 上传需…

Vmware中centos7共享文件夹

1.安装vmtools的步骤 1.进入centos 2.点击vm菜单的->install vmware tools 3.centos会出现一个vm的安装包 &#xff0c;xx.tar.gz 4.拷贝到/opt 5.使用解压命令tar&#xff0c;得到一个安装文件 cd /opt //进入到opt目录 tar -zxvf xx.tar.gz //解压缩命令 …

Cookie和Session简介与区别

1、Cookie和Session简介与区别 在非常多时候&#xff0c;我们需要跟踪浏览者在整个网站的活动&#xff0c;对他们身份进行自动或半自动的识别&#xff08;也就是平时常说的网站登陆之类的功能&#xff09;&#xff0c;这时候&#xff0c;我们常采用Cookie与 Session来跟踪和判断…

电感发出声音怎么解决_如何解决多层PCB设计时的EMI

解决EMI问题的办法很多&#xff0c;现代的EMI抑制方法包括&#xff1a;利用EMI抑制涂层、选用合适的EMI抑制零配件和EMI仿真设计等。本文从最基本的PCB布板出发&#xff0c;讨论PCB分层堆叠在控制EMI辐射中的作用和设计技巧。电源汇流排在IC的电源引脚附近合理地安置适当容量的…

电子商务网站放大效果的三种常用的实现方式。

预览效果(这里截取静态,有兴趣的可以运行下面的代码): 实现方式1. <!DOCTYPE html> <html> <head><meta charset="UTF-8"><title>电子商务网站放大镜效果1</title><style type="text/css">html, body, div…

CentOS宝塔搭建(超详细)

本文讲述CentOS搭建宝塔全过程&#xff0c;我会手把手的教你哦~ 1、云平台控制台创建及安装CentOS系统。 不管哪个云应该都有这个系统的。 注意事项&#xff1a; &#xff08;1&#xff09;CentOS系统建议7.4、7.6版本&#xff0c;切勿安装8版本&#xff01; &#xff08;2&…

又发现一个visual studio 2015的坑啊。

又发现一个visual studio 2015的坑啊。。。我的后台管理的目录名称叫duck&#xff0c; 但是在新版VS2015中打开项目后编译&#xff0c;出现错误&#xff1a; Error opening response file 。。。。。晕。。编译的目录名中不能有符号啊啊啊。。在之前都是可以的。。郁闷死啊。啊…

api 定位 微信小程序 精度_小程序的api是什么

微信小程序API(Application Programming Interface)&#xff0c;应用程序编程接口&#xff0c;也是程序员口中常说的接口。其实api并不专属于小程序&#xff0c;任何编程语言或程序形态都有相对应的api。而我们今天谈的小程序api&#xff0c;是微信小程序团队为了方便开发人员制…

前端全栈大佬是如何使用javaScript实现一个焦点图

效果图: 代码如下: <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title>焦点图</title><style>ul,li{list-style: none;}#outer{width: 400px;height: 300px;position: relative;margin:…

Spark入门:也可以用Java创建轻量级的RESTful应用程序

最近&#xff0c;我一直在使用Spark &#xff08;一种Java的Web框架&#xff0c;与Apache Spark 不相关&#xff09;编写RESTful服务。 当我们计划写这篇文章时&#xff0c;我已经做好了不可避免的接口&#xff0c;样板代码和深层层次结构的Java风格的准备。 我很惊讶地发现&am…

前端全栈大佬是如何使用javaScript实现一个轮播图

效果图: 代码如下: <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title>轮播图</title><style>ul,li{list-style: none;}#outer{width: 400px;height: 300px;position: relative;margin:…

Win7\xp添加虚拟网Microsoft Loopback Adapter

Win7\xp添加虚拟网Microsoft Loopback Adapter Microsoft Loopback Adapter &#xff08;微软回环网卡&#xff09;&#xff0c;做为IT网络的人员应该都知道是什么吧。安装一个 loopbackp 虚拟网卡对于一般的网络测试都有不少作用。下面本经验就给大家演示一下win7 XP如何添加微…

CentOS7重置root密码

忘记了root用户密码&#xff0c;有几种方法可以可以解决&#xff0c;分享给大家~ 这几种方法不会使系统中的任何资料丢失 亲测有效&#xff01;&#xff01;&#xff01; 第一种方法&#xff1a; 1&#xff09;开启虚拟机 2&#xff09;在弹出这个界面时&#xff0c;按上下键防…

mongodb 监控权限_运维监控产品分析篇

开源运维监控系统篇1.zabbix用户群&#xff1a;85%以上的泛互联网企业。 优点&#xff1a;支持多平台的企业级分布式开源监控软件 安装部署简单&#xff0c;多种数据采集插件灵活集成 功能强大&#xff0c;可实现复杂多条件告警&#xff0c; 自带画图功能&#xff0c;得到的…

前端全栈大佬是如何使用javaScript实现一个无缝轮播

效果图: 代码如下: <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title>无缝轮播图</title><style>ul,li{list-style: none;}#outer{width: 400px;height: 300px;position: relative;mar…

iOS消息推送机制的实现

iOS消息推送的工作机制可以简单的用下图来概括&#xff1a; Provider是指某个iPhone软件的Push服务器&#xff0c;APNS是Apple Push Notification Service的缩写&#xff0c;是苹果的服务器。 上图可以分为三个阶段&#xff1a; 第一阶段&#xff1a;应用程序把要发送的消息、目…

导出镜像备份阿里ECS并在本地虚拟机中运行

概述 事情是这样的&#xff0c;阿里云原先的云翼计划没有了&#xff0c;云翼机器也无法再按价续费&#xff0c;而通过新的开发者计划购买的轻量应用服务器又不支持从ECS迁移&#xff0c;因此为了备份数据&#xff0c;避免服务器过期后资源被释放造成不可逆损失&#xff0c;故尝…