網路流24題 星際轉移問題

2021-10-23 12:42:00 字數 2728 閱讀 3707

這個問題的難點在於如何表示時間的流逝很容易

想到源點

是地球,

然後中間

一串的空

間站,最

後連向匯

點月

球很容易想到源點是地球,然後中間一串的空間站,最後連向匯點月球

很容易想到源

點是地球

,然後中

間一串的

空間站,

最後連向

匯點月球空間

站間各自

連邊,流

量是飛船

的容

量空間站間各自連邊,流量是飛船的容量

空間站間各自

連邊,流

量是飛船

的容量

這樣跑最大流跑出來的其實是一天能到的最多的人,不能滿足要求

假 如我

們再開一

條上面的

鏈呢?也

許就能表

示兩天的

最大流了

。假如我們再開一條上面的鏈呢?也許就能表示兩天的最大流了。

假如我們再開

一條上面

的鏈呢?

也許就能

表示兩天

的最大流

了。 所以思

路大概有

點輪廓,

我們需要

的是乙個

類似分層

圖的東西

所以思路大概有點輪廓,我們需要的是乙個類似分層圖的東西

所以思路大概

有點輪廓

,我們需

要的是一

個類似分

層圖的東

西 按 照時

間分層,

就能表示

x天的最

大流

按照時間分層,就能表示x天的最大流

按照時間分層

,就能表

示x天的

最大流

每 天的

圖都是地

球−空間

站−月球

每天的圖都是地球-空間站-月球

每天的圖都是

地球−空

間站−月

球 那 麼源

點向每一

天的地球

連邊,容

量inf

那麼源點向每一天的地球連邊,容量inf

那麼源點向每

一天的地

球連邊,

容量in

f 每 一天

的月球向

匯點連邊

,容量i

nf

每一天的月球向匯點連邊,容量inf

每一天的月球

向匯點連

邊,容量

inf

對 於每

個飛船,

前一天的

位置向後

一天位置

連邊,表

示時間的

流逝,容

量是飛船

容量

對於每個飛船,前一天的位置向後一天位置連邊,表示時間的流逝,容量是飛船容量

對於每個飛船

,前一天

的位置向

後一天位

置連邊,

表示時間

的流逝,

容量是飛

船容量

對 於每

天的空間

站向下一

天的這個

空間站連

邊,容量

inf,

表示人可

以停在這

個空間站

對於每天的空間站向下一天的這個空間站連邊,容量inf,表示人可以停在這個空間站

對於每天的空

間站向下

一天的這

個空間站

連邊,容

量inf

,表示人

可以停在

這個空間

站 列舉答案跑最大流即可

#include using namespace std;

const int inf=1e9;

const int maxn=2e5+10;

struct edged[maxn]; int head[maxn],cnt=1,ans;

void add(int u,int v,int flow),head[u]=cnt;

d[++cnt]=(edge),head[v]=cnt;

}int dis[maxn],p[maxn],num[maxn],g[209][209],pre[maxn];

int n,m,k,s,t;

int find(int x)

void join(int q,int w)

bool bfs()

} }return false;

}int dinic(int u,int flow)

if( res==0 ) break;

} return flow-res;

}int main()

} if( find(n+1)!=find(n+2) )

int kk=0;

for(ans=1;;ans++)

while( bfs() ) kk+=dinic(s,inf);

if( kk>=k )

for(int i=1;i<=n+1;i++)

add( (ans-1)*(n+1)+i,ans*(n+1)+i,inf );//在這個站停下來

}}

網路流24題 星際轉移問題

description 由於人類對自然資源的消耗,人們意識到大約在 2300 年之後,地球就不能再居住了。於是在月球上建立了新的綠地,以便在需要時移民。令人意想不到的是,2177 年冬由於未知的原因,地球環境發生了連鎖崩潰,人類必須在最短的時間內遷往月球。現有 n 個太空站位於地球與月球之間,且有 ...

網路流 24 題 星際轉移

題目描述 由於人類對自然資源的消耗,人們意識到大約在 2300 年之後,地球就不能再居住了。於是在月球上建立了新的綠地,以便在需要時移民。令人意想不到的是,2177 年冬由於未知的原因,地球環境發生了連鎖崩潰,人類必須在最短的時間內遷往月球。現有 n n n 個太空站位於地球與月球之間,且有 m m...

網路流24題之星際轉移問題

一開始以為跑費用流,後來看了題解才知道可以按天建圖。1.從源點向每一天的地球鏈結一條inf 2.從每一天的月亮向匯點鏈結一條inf 4.針對每一艘飛船,獲取其上一天的位置,再獲取這一天的位置,在這兩個點之間連一條容量為飛船滿載人數的流 每次新加一天然後跑到最大流超過k即可 至於無解的情況只要當ans...