給出乙個網路圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網路最大流和在最大流情況下的最小費用。
既然是模板題,那麼資料肯定很水。我ek
+spf
aek+
spfa
都過了。
費用流其實就是最大流改乙個spf
aspf
a而已,很簡單。
#include
#include
#include
#include
#define inf 2147483647
using
namespace std;
int n,m,s,t,x,y,c,w,k,minn,ans,sum,dis[
10001
],head[
250011];
bool vis[
10001];
struct edge //鄰接表
e[250011];
struct pre //記錄路徑
p[250011];
void
add(
int from,
int to,
int c,
int w)
//建模
bool
spfa()
//最短路不解釋}}
}return dis[t]
!=0x3f3f3f3f;}
intmain()
while
(spfa()
) ans+
=minn;
//最大流
sum=sum+minn*dis[t]
;//最小花費
}printf
("%d %d\n"
,ans,sum)
;return0;
}
最小費用最大流 EK zkw費用流
來糊一篇部落格 順便可以記記模板啥的 廢話不多說直接進入正題 前置芝士 spf aspfa spfa 核心思想算是貪心吧 每次跑一遍spf aspfa spfa 以邊的費用跑一遍最短路,這樣可以確保找到一條費用最小的路徑,然後在跑的過程中計算出流量並記錄路徑,然後把路徑上的邊的流量都減掉就行了 模板...
最小費用最大流模板
const int n 1010 點 const int m 2 10010 邊 const int inf 1000000000 struct nodee m int next1 m point n dis n q n pre n ne ne為已新增的邊數,next,point為鄰接表,dis為花...
最小費用最大流模板
一 最小費用最大流的模型 在保證流量最大的前提下,所需的費用最小,這就是最小費用最大流問題 帶有費用的網路流圖 g v,e,c,w v 頂點 e 弧 c 弧的容量 w 單位流量費用。任意的弧對應非負的容量c i,j 和單位流量費用w i,j 滿足 流量f是g的最大流。在f是g的最大流的前提下,流的費...