網路流24題之運輸問題

2022-05-07 19:27:08 字數 768 閱讀 9827

網路流最關鍵的肯定是建圖對吧,那麼怎麼建呢,觀察題目,假設兩個超級點s,t,將s和所有倉庫相連,流為ai,將t與所有商店相連,流為bj;

現在乙個圖已經建好了,問題是求什麼?求的是最小運輸費用和對大運輸費用,所以這道題是乙個最小(大)費用最大流,所以s和所有倉庫相連,流為ai,費用為0,將t與所有商店相連,流為bj,費用為0,再將倉庫和商店相連,流為inf((極大值)費用為c[i][j].

這樣以後會發現這個圖很標準,最小費用最大流很容易跑,但是最大費用最小流怎麼跑?

可以將問題轉換一下,應為最大費用的相反數是所有費用中最小的,所以可以將所有的費用去相反數,最後求出最小費用最大流的結果取相反數就可以了

#includeusing namespace std;

typedef long long ll;

int read()

struct nodea[100001];

int dis[1001],f[1001],pre[1001],fa[1001],head[1001],cnt,n,m,s,t,z,w,ans,ans1;

void add(int x,int y,int c,int v)

queueq ;

int spfa() }}

if(dis[t]!=inf)

return 1;

return 0;

}void answer()

}}int x[1001][1001],xx,y[1001];

int main()

網路流24題 運輸問題

題意 有m個倉庫,n個零售商店,兩兩之間有運送貨物的單位費用 對於給定的倉庫的儲存量和商店的需求量,計算最優運輸方案和最差運輸方案 題解 建圖 從源點s到每個倉庫連容量為貨物數的邊 從每個商店到匯點t連容量為貨物數的邊 倉庫與商店間兩兩連容量無限,費用為單位費用的邊 分別求出最小費用最大流和最大費用...

網路流24題 運輸問題

題目描述 description w 公司有m個倉庫和n 個零售商店。第i 個倉庫有ai 個單位的貨物 第j 個零售商店需要bj個單位的貨物。貨物供需平衡,即 sum si sum bj 從第i 個倉庫運送每單位貨物到第j 個零售商店的費用為cij 試設計乙個將倉庫中所有貨物運送到零售商店的運輸方案...

網路流24題 運輸問題

題目傳送門 最小費用最大流,最大費用最大流 源點與倉庫相連,流量為a i 費用0 匯點與商店相連,流量為b i 費用為0 倉庫與商店相連,流量無限,費用為c i j 最大費用最大流轉換成最小費用最大流,方法就是建圖的時候把費用變成相反數跑最小費用最大流,最後答案取相反數即可 include incl...