poj 2516 最小費用流

2022-04-04 17:03:15 字數 1354 閱讀 2541

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7

using

namespace

std;89

#define inf 0x3f3f3f3f

1011

int supply[55],demand[55];//

某種商品的提供量和需求量

12int dis[110],pre[110],s,t;//

s為超級源點,t為超級匯點

13int order[55][55];//

第i個商店對第j種物品的需求

14int store[55][55];//

第i個**站對第j個物品的儲存量

15int flow[110][110],cap[110][110];//

邊的流量,容量

16int cost[55][55][55];//

cost[k][j][i]第k種商品從第j個**站運到第i個商店的花費

17int kcost[110][110];//

每件商品在某一條邊的花費。從**站到商店方向

18int vis[110

];19

intn,m,k;

2021

intspfa()

2245}46

}47}48

return pre[t]!=-1;//

pre[t]==-1表示無增廣路49}

5051

void

costflow()

5260

for(int u=t;pre[u] !=-1 ;u=pre[u])//

沿著最小費用路進行增廣

6165}66

}6768int

main()

6983}84

for(int i=1;i<=m;i++)

8591}92

for(int p=1;p<=k;p++)

93100

}101

}102

for(int i=1;i<=k;i++)

103109

}110

int flowcost=-1

;111

if(flag)

112135

}136

costflow();

137for(int i=1;i<=m;i++)

138142

}143

}144 printf("

%d\n

",flowcost);

145}

146return0;

147 }

最小費用最大流poj2516

include include include include include include include include include define ll long long define inf 0x3f3f3f3f using namespace std const int n 1e3 ...

poj2516 最小費用最大流

include stdio.h 最小費用最大流 poj 2516 include string.h include queue using namespace std define n 115 define inf 1000000000 struct node edge 8 n n int stor...

poj2516(最小費用最大流模版)

首先就這題而言,各k互不影響,可以分開來算,累加即可 對於構圖來說,以後可以源點s 0,匯點t n m,其中一組點是1 n,另一組n 1 n m,注意可以這樣構圖 對於最小費用最大流,要用spfa來做最短路徑,只需記錄路徑即可 include include include include incl...