網絡流複習筆記

模板

菜雞的模板很醜,就不貼了。算法

網絡流24題

這玩意你不搞好就別作網絡流了,固然你是神仙當我沒說。網絡

一些別的關於最大流的東西

把流量當作需求量/偏移量,而後用源匯調整,用來判斷可行性。函數

最小割

最小割定理:最小割=最大流。優化

最小割斷定定理:先跑一遍最小割。spa

一條邊可能在最小割:流滿,兩端點在不一樣\(SCC\)模板

一條邊必定在最小割:流滿,起點和源點在同一個\(SCC\),終點和匯點在同一個\(SCC\)class

通常用來當代價用,我如今碰到的模型最小割不知道比最大流多到哪裏去了。基礎

先加上貢獻,而後減掉代價。變量

費用流

就是那點東西,\(zsy\)教了我一個能夠跑特殊意義下費用流的帶負環的算法,然而我不打算寫。。。思考

上下界網絡流

有源匯=\(T->S\)\(inf\)邊,就無源匯了。

先跑可行流。可行流就是先把每條邊的下界跑滿,而後新建超級源匯補流吸流。

思考這一類問題(包括一些並非上下界可是須要調整的模型)能夠經過水來形象的思考。

最大流就是在這個基礎上跑加上\(S->T\),最小流就是減掉\(T->S\),這裏的\(S,T\)都是指原來的源匯。

一類特殊的線性規劃問題

知足每一個變量是非負整數。

先用\(y_i,z_i\)等把全部不等式化成等式,而後用差分的奇技淫巧使得每一個變量只出現過兩次,一次正一次負。

這個必定要本身好好推一推,大概是源點像常數項爲負的連邊,常數項爲正向匯點連邊,負向正連邊。

最好一開始默認全部變量是零,而後你經過改變一個變量的值來平衡流量。

一類優化

咱們常常會碰到好比說一個點像區間連邊的題,但這樣邊數會很大,又\(TLE\)\(MLE\)

因此線段樹優化連邊,主席樹優化連邊,線段樹合併優化連邊(好像都是線段樹?)

注意一些線段樹的東西在維護的時候想好怎麼連邊,好比線段樹合併的\(merge\)函數。

\(n\)很小區間個數不少能夠二維\(RMQ\)優化。

模擬費用流

這是個神仙玩意,我尚未填完坑呢。

相關文章
相關標籤/搜索