洛谷 P3381 模板 最小費用最大流

2021-10-02 15:34:03 字數 924 閱讀 2863

洛谷 p3381 【模板】最小費用最大流

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define maxe 50005

#define maxn 5005

#define inf 0x3f3f3f3f

typedef

long

long ll;

using namespace std;

int n,m,st,ed,cnt=

0,dis[maxn]

,pre[maxn]

,visit[maxn]

,flow[maxn]

,maxflow=

0,mincost=0;

int head[maxn]

;//dis最小花費;pre每個點的前驅;last每個點的所連的前一條邊;flow源點到此處的流量

struct edgee[maxe*2]

;//因為要建立反向邊,所以要開2倍

void

add(

int u,

int v,

int flow,

int dis)

bool spfa

(int st,

int ed)}}

}return pre[ed]!=-

1;}void

mcmf()

}}intmain()

mcmf()

;printf

("%d %d"

,maxflow,mincost)

;return0;

}

洛谷 P3381 模板 最小費用最大流

乙個網路圖雖然最大流確定,但達到最大流的方案並不唯一。如果對於每條邊,都加乙個費用f,表示這條邊流過單位流量的代價,求達到最大流時的最小費用,這就是最小費用最大流問題。解決方法 ek費用流或zwk費用流。這裡只講ek費用流。採用貪心的思想。我們每次增廣時都選擇費用最小的一條。這樣,因為最大流是確定的...

洛谷 P3381 模板 最小費用最大流

題目鏈結 mcmf 最小費用最大流 由於要使用反向邊。定義乙個h i 表示從匯點到i的最短距離。對於一條邊e v,u e.cost e.cost h v h u 這樣可以保證圖中沒有負權邊的存在,這樣就可以使用dij來求最短路。每次求一條最短路,然後通過這條最短路更新最大流,直到找不出最短路為止。i...

洛谷P3381 模板 最小費用最大流

如題,給出乙個網路圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網路最大流和在最大流情況下的最小費用。輸入格式 第一行包含四個正整數n m s t,分別表示點的個數 有向邊的個數 源點序號 匯點序號。接下來m行每行包含四個正整數ui vi wi fi,表示第i條有向邊從ui出發,到...