洛谷P4015 運輸問題 費用流

2022-04-30 15:15:14 字數 1609 閱讀 5780

ww 公司有 mm 個倉庫和 nn 個零售商店。第 ii 個倉庫有 a_iai​個單位的貨物;第 jj 個零售商店需要 b_jbj​個單位的貨物。

貨物供需平衡,即\sum\limits_^a_i=\sum\limits_^b_ji=1∑m​ai​=j=1∑n​bj​。

從第 ii 個倉庫運送每單位貨物到第 jj 個零售商店的費用為 c_cij​​​ 。

試設計乙個將倉庫中所有貨物運送到零售商店的運輸方案,使總運輸費用最少。

輸入格式:

第 11 行有 22 個正整數 mm 和 nn ,分別表示倉庫數和零售商店數。

接下來的一行中有 mm 個正整數 a_iai​,表示第 ii 個倉庫有 a_iai​個單位的貨物。

再接下來的一行中有 nn 個正整數 b_jbj​,表示第 jj 個零售商店需要 b_jbj​個單位的貨物。

接下來的 mm 行,每行有 nn 個整數,表示從第 ii 個倉庫運送每單位貨物到第 jj 個零售商店的費用 c_cij​。

輸出格式:

兩行分別輸出最小運輸費用和最大運輸費用。

輸入樣例#1: 複製

2 3

220 280

170 120 210

77 39 105

150 186 122

輸出樣例#1: 複製

48500

69140

1 \leq n, m \leq 1001≤n,m≤100

挺裸的一道費用流

從s向倉庫連容量為a,費用為0的邊

從商店向t連容量為b,費用為0的邊

從倉庫向商店連容量為inf,費用為c的邊

#include#include

#include

#include

#define addedge(x,y,z,f) add_edge(x,y,z,f),add_edge(y,x,-z,0)

using

namespace

std;

const

int inf=1e8+10

;const

int maxn=1e4+10

;inline

intread()

while(c>='

0'&&c<='9')

return x*f;

}int

n,m,s,t;

intansflow,anscost;

int a[maxn],b[maxn],c[1001][1001

];struct

node

edge[maxn];

int head[maxn],num=2

;inline

void add_edge(int x,int y,int z,int

f)int

dis[maxn],vis[maxn],pre[maxn];

intspfa()}}

return dis[t]<=inf;

}int

f()void

mcmf()

intmain()

洛谷 P4015 運輸問題 題解

題目鏈結 w ww 公司有 m mm 個倉庫和 n nn 個零售商店。第 i ii 個倉庫有 a ia i ai 個單位的貨物 第 j jj 個零售商店需要 b jb j bj 個單位的貨物。貨物供需平衡.從第 i ii 個倉庫運送每單位貨物到第 j jj 個零售商店的費用為 cij c ci j ...

P4015 運輸問題

w 公司有 m 個倉庫和 n 個零售商店。第 i 個倉庫有 a i 個單位的貨物 第 j 個零售商店需要 b j 個單位的貨物。貨物供需平衡,即 sum limits a i sum limits b j 從第 i 個倉庫運送每單位貨物到第 j 個零售商店的費用為 c 試設計乙個將倉庫中所有貨物運送...

luogu P4015 運輸問題 費用流

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