1. 程式人生 > >[USACO4.4]追查壞牛奶Pollutant Control

[USACO4.4]追查壞牛奶Pollutant Control

nbsp problem lan 套路 show poll 4.4 經典 方法

https://www.luogu.org/problemnew/show/P1344

這道題很容易就可以看出是最小割=最大流。

但是要求出要割幾條邊就有些毒瘤了。

↓為廢話


但orzn*inf後,蒟蒻我還是沒有想出怎麽回事

猶豫好久後,還是悄咪咪點開了題解。。。。。。。。。


↑為廢話

原來有一個經典的套路:

只需建圖時將邊權w=w*a+1(w為本來的邊權,a為大於1000的數),這樣我們能求得最大流ans,則最小割的值為ans/a,割的邊數為ans%a。

因為最小割的邊集中有w1+w2+w3…+wn=ans(這個ans為本來的最小割),所以必然有w1*a+w2*a+w3*a…+wn*a=ans*a,於是必然有w1*a+1+w2*a+1+w3*a+1…+wn*a+1=ans*a+k(k為最小割的邊數,k<=m<=1000),這樣就很明顯了,因為邊數m不大於1000,所以k的最大值為1000,我們只要使設定的a的值大於1000,那麽按上述方法建圖,跑出的最大流除以a就是最小割的值ans,最大流模a就是最小割的邊數k。

代碼懶得搞了

[USACO4.4]追查壞牛奶Pollutant Control