省選專練 網路流 24 題 星際轉移

2021-08-17 05:51:01 字數 1035 閱讀 8284

分層圖上網路流。

以時間為鍵值開點。

對於每乙個倉庫,(i,time-1)->(i,time)(inf)表示可以放永遠。

對於動態的飛船(a[i][time-1],time-1)->(a[i][time],time)(w[i])表示這一天可以搬這麼多

那麼,列舉時間,在參量網路上繼續跑最大流,直到跑滿就完了。

#include#include#include#include#include#include#define c c

using namespace std;

const int n=20000;

const int inf=1e9+7;

struct front_stare[n*4];

int cnt=1;

int first[n]=;

void addedge(int u,int v,int w)

void add(int u,int v,int w)

int n,m,k;

int s=9201;

int t=1;

int w[n]=;

int a[101][101]=;

int fa[101]=;

int c[101]=;//record a new start

int getfa(int x)

else

}void uni(int x,int y)

int d[50001]=;

int bfs()

} }return d[t]!=-1;

}int dfs(int st,int ed,int nowdat)

} if(!dat)

return dat;

}int dinic()

add(a[i][c[i]]+n*(ans-1),a[i][p]+n*ans,w[i]);

c[i]=p;

} t=ans*n+1;

nowdat+=dinic();

// cout<} cout<}

網路流 24 題 星際轉移

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

網路流24題 星際轉移問題

這個問題的難點在於如何表示時間的流逝很容易 想到源點 是地球,然後中間 一串的空 間站,最 後連向匯 點月 球很容易想到源點是地球,然後中間一串的空間站,最後連向匯點月球 很容易想到源 點是地球 然後中 間一串的 空間站,最後連向 匯點月球空間 站間各自 連邊,流 量是飛船 的容 量空間站間各自連邊...

網路流24題 星際轉移問題

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