網路流 24 題 1 飛行員配對方案問題

2021-08-19 14:30:31 字數 1063 閱讀 8840

題意

有m個外籍飛行員和n個英國飛行員,中間存在兩兩可以合作的關係,一架飛機需要乙個外籍飛行員和乙個英國飛行員。

求最多能飛出去多少架飛機,並且輸出任意一種方案。

(似乎因為這個有spj...)

(洛谷上也有spj啊...)

(loj上也有spj啊...)

(打出兩個大凶好煩啊...)

分析

因為是第一次敲網路流所以說還是說一下怎麼整...

簡單來說就是對於乙個有向圖,邊上會有乙個容量限制,表示這條邊最多能流多少,然後求出最後某個點能流到另外乙個點多少流量。

然後學習的是dinic演算法。

模板→按照大佬們的說法,網路流的問題困難的地方主要在建圖。

但是對於這道題來說還是比較好解決的...

按照二分圖原來的樣子建圖,所有的邊的容量都是1,然後建乙個源點s,連向二分圖中左邊所有的點,建乙個匯點t,將二分圖右邊所有的點連向

t。然後求s到t的最大流就好了。

code

#include#define inf 100000

using namespace std;

#define m 605

void read(int &x)

struct ede[m*m];

int ecnt,nx[m];

void add(int x,int y,int cap);

nx[x]=ecnt++;

e[ecnt]=(ed);

nx[y]=ecnt++;

}struct dinic

}} return level[t]>0;

} int dfs(int x,int f)

if (sum==0)level[x]=0;

return sum;

} int max_flow(int s,int t)

return res;

}}dinic;

int main()

網路流24題 搭配飛行員 飛行員配對方案

網路流24題 搭配飛行員 輸入檔案 flyer.in 輸出檔案 flyer.out 簡單對比 時間限制 1 s 記憶體限制 128 mb 問題描述 飛行大隊有若干個來自各地的駕駛員,專門駕駛一種型號的飛機,這種飛機每架有兩個駕駛員,需乙個正駕駛員和乙個副駕駛員。由於種種原因,例如相互配合的問題,有些...

網路流24題1 飛行員配對方案問題

問題描述 飛行大隊有若干個來自各地的駕駛員,專門駕駛一種型號的飛機,這種飛機每架有兩個駕駛員,需乙個正駕駛員和乙個副駕駛員。由於種種原因,例如相互配合的問題,有些駕駛員不能在同一架飛機上飛行,問如何搭配駕駛員才能使出航的飛機最多。如圖,假設有10個駕駛員,如圖中的v1,v2,v10就代表達10個駕駛...

網路流24題1 飛行員配對方案問題

問題描述 第二次世界大戰時期,英國皇家空軍從淪陷國徵募了大量外籍飛行員。由皇家空軍派出 的每一架飛機都需要配備在航行技能和語言上能互相配合的2 名飛行員,其中1 名是英國飛 行員,另1 名是外籍飛行員。在眾多的飛行員中,每一名外籍飛行員都可以與其他若干名英 國飛行員很好地配合。如何選擇配對飛行的飛行...