分層圖上網路流。
以時間為鍵值開點。
對於每乙個倉庫,(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 個太空站位於地球與月球之間,且有 ...