題解 CTSC1999家園 網路流

2022-02-23 20:38:06 字數 1373 閱讀 7312

建模方法類似我noi2019網路同步賽我的t1寫法[【題解】noi2019route](70分)

問題的焦點是:空間時間載具。

下面這個圖會非常清楚:

咕咕咕寫的話有點麻煩,模組化程式設計就稍微好寫點。資料範圍不超過100,不用怕mle,tle。

發現一種很好用的除錯技巧,就是在add函式中輸出fr to w 等等內容,按照這個提示建圖就可以很快發現問題。

//@winlere

#include#include#include#include#includeusing namespace std; typedef long long ll;

inline int qr()

const int maxn=5e4+5;

struct e

e(const int&a,const int&b,const int&c)

}e[maxn];

int head[maxn];

int last[maxn];

int lastlast[maxn];

int cnt=1;

int n,m,k;

int nodecnt;

int s,t;

const int inf=0x3f3f3f3f;

inline void add(const int&fr,const int&to,const int&w,const int&f=1)

queue < int > q;

int d[maxn],cur[maxn];

inline bool bfs()}}

return d[t];

}int dfs(const int&now,int fl)

}return ret;

}inline int dinic()

int sh[205][205];

int siz[205];

int stay[205];

int cap[205];

inline void init()

inline void update(const int&now)

add(last[n+2],t,inf);

}namespace binc

int q(int a)

void j(int a,int b)

}int main()

}if(binc::q(n+1)!=binc::q(n+2)) return puts("0"),0;

int timenow=0,sum=0,t1,cnt=0;

init();

while(sumprintf("%d\n",timenow);

return 0;

}

CTSC1999 家園(網路流)

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

CTSC 1999 家園 網路流24題 星際轉移

直接把每乙個點,每一天拆成乙個點。然後每個點到下一天連 inf 的邊。然後把飛船的路徑用容量為飛船容量的邊連線。然後跑網路流判斷是否滿流。include include include include include using namespace std define f i,j,k for in...

網路流24題 CTSC1999 家園

地球和月球中間有 n n 個太空站,有 m role presentation m m艘太空船,k k 個人要從地球前往月球。已知每個太空站可以容納無限多的人,每艘太空船的承載人數為 hi role presentation hih i,以及它們的行駛路線 經過的每乙個太空站編號 任意兩個太空站之間...