Luogu P1401 城市 二分 網路流

2022-05-20 02:26:23 字數 975 閱讀 8522

p1401 城市

n(2<=n<=200)個城市,m(1<=m<=40000)條無向邊,你要找t(1<=t<=200)條從城市1到城市n的路,使得最長的邊的長度最小,邊不能重複用。

第1行三個整數n,m,t用空格隔開。

第2行到p+1行,每行包括三個整數ai,bi,li表示城市ai到城市bi之間有一條長度為li的道路。

輸出只有一行,包含乙個整數,即經過的這些道路中最長的路的最小長度。

7 9 2

1 2 2

2 3 5

3 7 5

1 4 1

4 3 1

4 5 7

5 7 1

1 6 3

6 7 3

5
這道題可以用並查集做。 --alecli

每條邊最多走一遍,不就相當於對圖跑一遍網路流,流量必須大於等於\(t\)嗎?所以我們可以二分答案,對原圖跑網路流,判斷流量是否滿足要求。

#includeusing namespace std;

int n,m,t,ans,l=int_max,r,cur[205],dep[205];

int cnt=1,top[205],to[160005],len[160005],cap[160005],rcap[160005],nex[160005];

int read()

bool bfs(int lim)

}return dep[n]!=0;

}int dfs(int now,int flow,int lim)

}return re;

}bool check(int lim)

int main()

while(l<=r)

printf("%d",ans);

return 0;

}

(二分 網路流)Optimal Milking

題意為n個奶牛站,m頭奶牛,每個奶牛站的奶牛上限k 給出奶牛站和奶牛對其他實體的距離,距離為0即為兩個實體無路徑,求出所有奶牛到奶牛站中走的最遠的奶牛的最遠距離的最小值 最大中的最小問題,可以二分。我們先用floyd處理出實體到實體之間的最近距離,二分這個最遠距離,建圖 兩實體距離小於等於二分值時才...

BZOJ 1305 二分 網路流

思路 建圖我根本沒有想到啊 我是不會告訴你我借鑑了一下題解的思路 把每個人拆成喜歡的和不喜歡的點 男 喜歡 向 男 不喜歡 連 邊權為k的邊 如果男喜歡女 那麼 男喜歡向 女喜歡 連 1 如果男 不喜歡女 那麼 男不喜歡 向 女不喜歡 連1 男 喜歡 向 男不喜歡 連k 女 不喜歡 向 女喜歡 連k...

UVA 12264 Risk (二分,網路流)

題意比較坑,移動完以後的士兵不能再次移動,不然樣例都過不了。最小值最大滿足決策單調性所以二分答案,跑網路流驗證是否可行。這種題重點在建圖,為了保證只移動一次,拆點,乙個入點乙個出點,到了出點的自然不能再次排程。不在邊界上的邊連一條容量為1的邊表示至少留乙個人,在邊界上的與t的連邊就設定成mid。其他...