1. 程式人生 > >網路流刷題記錄-最大流

網路流刷題記錄-最大流

懶得一一寫題解了直接都列出來。
順著Edelweiss的論文刷下來,有些難的或沒掉了的題就沒寫了
BZOJ 3931 網路吞吐量
POJ 1149 PIGS
POJ 2394 Ombrophobic Bovines
POJ 3281 Dining
ZOJ 2760 How Many Shortest Path (正好ZOJ最近掛掉了==交不了程式碼)
SGU 438 The Glorious Karlutka River =

BZOJ那題是直接跑完最短路跑Dinic就可以出來的。
然後POJ那幾題好像是都寫過題解。

POJ 3281 Dining
題目連結戳這
大概就是把牛給拆點,牛之間連一條邊權為1的邊,然後往飲料和食物那裡連邊。關於作者說的“開創性”,沒感覺==

ZOJ 2760 How Many Shortest Path
(ZOJ掛著只好放vjudge 題目連結戳這)
先跑最短路,然後把最短路中的邊都給連邊,邊的容量為1
自己想的咯==還有點自豪。

SGU 438 The Glorious Karlutka River=
題目連結戳這
論文上第一句話是“經典的動態流問題”?好像有點屌==
其實就是先把石子給拆點,然後按照時間給加邊、加點
寫了這題方知Dinic的快。。奇快。。非常快。。

刷了這麼多最大流也有點感覺了。
個人覺得最大流最神的地方在於拆點。
拆點的作用在於分離點上的限制。
不知道以後的最小割以及費用流是不是這樣。

放一下論文的總結:
『一般來講,最大流構圖最直觀最容易理解,但變化也是相當之多,需要多多A題多多體會。常用的構圖方法有以下幾種:
1)用st流表示方案
這是最大流最常用的構圖法,每一條st流都實實在在對應著實際問題中的一種操作方案,很好理解。
2)待補充。』