dij費用流

1:爲啥可以直接上去直接把是h函數全部都是變成0  因爲一開始所有的邊的值都是正數。咦,我們不是加上了反向邊?但是這個時候因爲反向邊都是沒有流量的啊。

2:如果當前找到增廣路了,這個增光路的流量流完了,那最短路的處理能夠使得下次dijkstra的時候,這條路不變成增廣路嗎?

3:如果單純只是出現負邊權,而沒有出現負環,這個時候dijkstra其實就夠了。但是如果出現了負環,就必須使用spfa處理一下。

4:以下問題的概括:只要圖=初始沒有負環,那之後就不會出現負環,

費用流剛建圖的時候,因爲反向邊沒有流量,所以spfa的時候是不會出現負環的。但是如果找到了一條增光路之後,給反向邊增加了流量,這個時候會不會出現負環呢?

這個問題真的是困擾了我好久。假設我們求解從s出發,到t目的地的最大流量最小費用。假設找到了一條增廣路a,這條增廣路花費的費用Wa一定是最少的(因爲走的是最短路,路徑就是花費)。現在給這條增光路反向加流量,現在這條增光路正向一定是走不通的(因爲這條增光路上已經流光了最細的那個地方的流量),但是反向可以走,而且反向花費(也就是路徑)是-Wa。那有沒有可能後面再找一條增光路b,在spfa的過程中這條增光路從s出發,到t後,又反向沿着第一條增光路返回來呢?這個時候會不會形成負環呢?答案是不會的!因爲b增光路的花費(也就是路徑)Wb一定是>=Wa的。所以從s沿着b增光路出發,到t,再反向沿着增光路a回來。這個路徑的權值一定是大於0的,所以是不會出現負環的。

5:終於有點理解爲啥不加勢函數的dijkstra費用流超級慢!!!

因爲

6:不加勢函數的dijkstra費用流只是適用於一開始正向邊都是正數的費用流圖,並且反向邊一開始流量都是0。

7:如果一開始圖裏面就存在負環,那一定是搞不了的。 

https://www.cnblogs.com/rmy020718/p/9548758.html

https://www.cnblogs.com/tkandi/p/10532774.html

發佈了166 篇原創文章 · 獲贊 15 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章