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。其他...