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

2022-03-27 07:14:12 字數 1066 閱讀 3403

一開始以為跑費用流,後來看了題解才知道可以按天建圖。

1.從源點向每一天的地球鏈結一條inf

2.從每一天的月亮向匯點鏈結一條inf

4.針對每一艘飛船,獲取其上一天的位置,再獲取這一天的位置,在這兩個點之間連一條容量為飛船滿載人數的流

每次新加一天然後跑到最大流超過k即可

至於無解的情況只要當ans達到乙個很大的值的時候跳出來即可

1 #include2

using

namespace

std;

3const

int n=1e5+10,inf=1e9;

4int head[n],cnt=-1,v[n],h[n],p[n],n,m,k,s,t,day[25][25

];5 queueq;

6struct

nodee[n<<1];9

void add(int x,int y,int

w)10

14bool bfs(int x,int

y)1527}

28return v[y]!=-1;29

}30int dfs(int x,int w,int

yy)31

39 s+=flow;e[i].w-=flow;e[i^1].w+=flow;

40if(s==w)return

s;41}42

return

s;43}44

int dinic(int x,int

y)45

51return

tmp;52}

53int

main()

5465

}66 s=10001,t=10000;int ans=0;int sum=0;67

while(ans<=500)68

79}80 sum+=dinic(s,t);

81if(sum>=k)

8286 ans++;87}

88 puts("0"

);89

return0;

90 }

網路流24題 星際轉移問題

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

網路流24題 星際轉移問題

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

網路流 24 題 星際轉移

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