Primal Dual 原始對偶

2022-09-23 21:36:19 字數 887 閱讀 9962

不是費用流都需要用 spfa 嗎。

眾所周知,spfa 去世了,然後網路流顯然有負邊。於是我們可以像 johnson 全源最短路一樣,給邊加上勢能,具體實現看我之前的 部落格 啦。

然後對於每一次跑 dijkstra ,然後得到最短路,把勢能要再加上這個最短路,可以證明這樣操作一次圖上不會再有負邊。

也正因如此我們不能用 \(dinic\) ,我們不保證在走了多條增廣路後仍然邊權非負,所以我們可以記錄最短路的路徑,然後每次增廣一條,這樣就能保證正確。這個似乎是 km演算法嗎?反正都是增廣一條,沒有學過km,所以不敢下定論。

#includeusing namespace std;

#define ll long long

#define file(a) freopen(#a".in","r",stdin),freopen(#a".out","w",stdout)

inline int read());

}queueq;

int h[n];

bool inq[n];

inline void spfa()

}} }

}int dis[n];

struct node);

while(!q.empty() ));}}

} }return dis[t]!=inf;

}int minc,maxf;

inline void pd()

for(int i=t;i!=s;i=e[i].v)

maxf+=minf; }}

int main()

spfa();

pd();

printf("%d %d\n",maxf,minc);

return 0;

}

原始對偶費用流

用 dijkstra 代替 spfa link,但是這篇部落格的 上來就跑 dijkstra 複雜度可能會被卡成指數。text interval graph text 滿足題意的充要條件 每個點至多被兩個區間覆蓋。i rightarrow i 1 連一條流量為 2 費用為 0 的邊。l righta...

原始問題與對偶問題

每乙個線性規劃問題,我們稱之為原始問題,都有乙個與之對應的線性規劃問題我們稱之為對偶問題。原始問題與對偶問題的解是對應的,得出乙個問題的解,另乙個問題的解也就得到了。並且原始問題與對偶問題在形式上存在很簡單的對應關係 目標函式對原始問題是極大化,對對偶問題則是極小化 原始問題目標函式中的收益係數 優...

原始對偶費用流ver2 0 hdu4744

這場比賽我就不多說什麼了。幾乎整場都在寫計算幾何,恰好三維計算幾何又是我的軟肋,後面的題基本都沒看。建圖就不多說了,挺水的,標算不是費用流,但我聽說有人zkw費用流過了,於是我就寫個原始對偶費用流,但是居然超了,本機測試60組極限1050 ms 於是進行優化,lyp跟我說過一次反向spfa就可以di...