今天做了一天的網路流,也發現了很多有趣(有毒)的建圖方法,也算是收穫很多了,這裡就做個總結吧。
網路流跑的方法大家都會我就不說了,題考察的重點也就是建圖。
建圖就涉及到2個方面:
1.建點。建點其實就是網路流的難點了,一般點弄好了邊也容易了。建點的困難就在於有時要拆點,我總結了一下拆點主要是這幾個作用:
a、控制點的通過次數,就是把點的次數用邊的流量來限制。
b、化點權為邊權。
c、乙個點可能會有影響答案的多個狀態或情況時要拆,按情況數拆,拆開後每乙個代表一種情況。
d、一層一層的拆,用來限制某些條件。
2.連邊,這個如果點弄對了,就直接按狀態的轉移來連就好了,一般比較容易。
幾個基礎模型:
1.dag圖最小路徑覆蓋
2.分層圖最短路徑(上文拆點的d情況)
3.二分圖匹配
4.各種不相交路徑(上文拆點的a情況)
想練網路流的可以試試《經典的網路流24題》,我反正是全部刷完了,裡面的模型都很好,我部落格裡也有一些我覺得好的題的思路和自己寫的**可供參考.
網路流總結
今天學的網路流,總的感覺來說稍難,不管是理解還是什麼,但是理解了後,就變得簡單許多。ford fulkerson演算法 是來求最大流量問題,從源點出發,到匯點,到底能多少能流入匯點。演算法 1 從源點出發,找相鄰邊,如果相鄰邊未被找過並且還可以流入流量就dfs。2 更新流入的邊。3 重複操作,直到沒...
網路流總結
1.hdu1532 給網路圖,求1 n的最大流.注意邊數 2 2.hdu3572 經典建圖模型,有些東西能轉換為容量考慮 網路流演算法.dinic學了乙個多路增廣優化,能少一次遞迴的時間 1.hdu1533 建圖方式,假設有cntm個人,cnth個房子,分別對應編號 1,cntm cntm 1,cn...
網路流總結
上下界可行流 考慮把每條邊必須經過的流量拆出來,那麼就變成了某些邊必須滿流,求一組可行流。我們把必須滿流的邊拉出來,假想乙個源匯 s,t,每條邊起點連向 s,t 連向終點,跑 s 到 t 的最大流,若拉出來的邊滿流就找到了一組可行流。如果本來就有源匯,那麼從 t 向 s 連流量正無窮的邊,就轉成無源...