SGU 326 最大流(競賽問題)

2022-05-24 04:00:12 字數 1313 閱讀 9899

題意:

題解:抑鬱,機房的「學長」上課吵死了,心煩意亂的寫了這個題,一直wa,最後發現忘了特判,網路流出現負權邊了。。。

明確思想,1這個人剩下的比賽都贏(包括和組外的人比的比賽,簡稱組外賽),與1同小組的其他人,組外賽全輸,小組內部的比賽就是網路流需要分配的結果~

思路見:

view code

1 #include 2 #include 3 #include 4 #include 5 #include 6

7#define n 1000

8#define m 400000

9#define inf 1e9

1011

using

namespace

std;

1213

inthead[n],to[m],next[m],len[m];

14int

q[m],layer[n],num[n][n],a[n],b[n],sum,qsum,mx,sb[n],map[n][n];

15int

n,s,t,cnt,cas;

1617 inline void add(int u,int v,int

w)18

2223 inline void

read()

2442

}43 t=tot+n+1;44

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

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

4650

for(int i=2;i<=n;i++) add(i+tot,t,a[1]-a[i]);51}

5253 inline bool

bfs()

5467}68

return layer[t]!=-1;69

}7071 inline int find(int u,int

cur_flow)

7281

if(!res) layer[u]=-1;82

return

res;83}

8485 inline void

go()

8689

int ans=0;90

while(bfs()) ans+=find(s,inf);

91if(ans>=sum) puts("

yes"

);92

else puts("no"

);93}94

95int

main()

96

吐槽:sgu簡直太不人性了,登陸要記住id,做一道題需要開三個頁面:題目頁面,提交頁面,評測頁面。。。

sgu 185 最短路 最大流

題意 求兩條不公邊的最短路,存在則輸出兩條路徑,不存在則輸出no solution 經過無數的re 22,wa 20和mel終於用最短路 最大流給a啦,感謝蒼天的解救啊!剛開始用的費用流解決 建圖源點到1建一條容量為2,費用為0的邊,n到匯點連一條容量為2,費用為0的邊,原圖中的邊 u,v 容量為1...

最大流問題

暫時最大流問題我就先掌握這一種演算法吧 基本的最大流問題 ek演算法 基於bfs 每一次bfs更新一條路徑,雖然都會入佇列,但是由於以下條件保證點不會交叉,所以只有一條到終點的路徑會更新流量。if res v map u v flow u v 注意更新flow矩陣的時候是這樣的 while u st...

最大流問題

具體的最大流問題定義 術語以及特性,前人已經描述的很詳細了 我們需要注意以及幾個方面 增益路徑的生成次序如果不恰當,會對方法的效率有巨大的影響。如下 其中u代表某個大正整數。如果沿著路徑1 2 3 4對流量0進行增益,得到 b 中值為1的流量 接著沿著路徑1 3 2 4對流量0進行增益,得到 c 中...