洛谷·[网络流24题]飞行员配对方案问题
初见安~这里是传送门: 洛谷P2756 飞行员配对方案问题 题解 是个比较明显的 网络最大流 吧。或者说是 二分图匹配求最大匹配数 。 构造二分图,一边是S连向外籍飞行员,一边是英国飞行员连向T,边权都是1,按照题目给的关系连边,边权INF,跑最大流就好。可以理解成每个外籍飞行员都有一个贡献,但是要选一个英国飞行员然后流向T。【那不就是二分图最大匹配。】所以用二分图也可以写的。这里就用网络流了,好写。 那么还有个问题就是要输出方案。简单啊,看每个外籍or英国飞行员向英国or外籍飞行员连的边的边权,正边看是否满流,逆边看是否有流,满足那么这两个配一架飞机。 上代码—— #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #define maxn 500 #define maxm 200005 using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; int read() { int x = 0, f = 1, ch = getchar(); while(!isdigit(ch)) {if(ch == '-') f = -1; ch =