本文旨在用幾句話描述每個演算法,讓筆者在未來需要使用這些演算法的時候能回憶起來。
通過bfs找到一條增廣路,將其減1,反向邊+1。 持續到無法增廣。 是dinic演算法弱化版。
先bfs,分層,再有方向性的dfs找到流量,把反向邊加上權值。
是ek演算法的優化版,定義允許弧為d[i]=d[j]+1(部分**d[t]=0)的弧,那麼就能保證每次執行的時候是有方向性的,故其效率符合要求。至於維護d陣列,發現乙個點沒有允許弧的時候,他的d就是所有鄰接點的最小值+1。使用棧存目前的允許弧,如果允許弧被改變後,改弧到棧頂的元素彈出。
網路流總結
今天學的網路流,總的感覺來說稍難,不管是理解還是什麼,但是理解了後,就變得簡單許多。ford fulkerson演算法 是來求最大流量問題,從源點出發,到匯點,到底能多少能流入匯點。演算法 1 從源點出發,找相鄰邊,如果相鄰邊未被找過並且還可以流入流量就dfs。2 更新流入的邊。3 重複操作,直到沒...
網路流總結
今天做了一天的網路流,也發現了很多有趣 有毒 的建圖方法,也算是收穫很多了,這裡就做個總結吧。網路流跑的方法大家都會我就不說了,題考察的重點也就是建圖。建圖就涉及到2個方面 1.建點。建點其實就是網路流的難點了,一般點弄好了邊也容易了。建點的困難就在於有時要拆點,我總結了一下拆點主要是這幾個作用 a...
網路流總結
1.hdu1532 給網路圖,求1 n的最大流.注意邊數 2 2.hdu3572 經典建圖模型,有些東西能轉換為容量考慮 網路流演算法.dinic學了乙個多路增廣優化,能少一次遞迴的時間 1.hdu1533 建圖方式,假設有cntm個人,cnth個房子,分別對應編號 1,cntm cntm 1,cn...