如題,給出乙個網路圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網路最大流和在最大流情況下的最小費用。
#include
#include
#include
#include
#define maxn 5005
#define maxm 50005*2
#define inf 1000000007
#define ll long long
#define fo(i,a,b) for (ll i=a;i<=b;++i)
#define fd(i,a,b) for (ll i=a;i>=b;--i)
#define rep(i,a) for (ll i=last[a];i;i=next[i])
using
namespace std;
ll last[maxm]
,next[maxm]
,tov[maxm]
,len1[maxm]
,len2[maxm]
;ll depth[maxn]
;bool bz[maxn]
;ll n,m,s,t,tot=
1,ans;
inline ll read()
while
('0'
<=ch && ch<=
'9')x=x*
10+ch-
'0',ch=
getchar()
;return x*f;
}inline
void
link
(ll x,ll y,ll z1,ll z2)
inline
bool
spfa()
} bz[now]=1
;}return depth[s]
}inline ll dfs
(ll x,ll flow)
ll used=
0;bz[x]=0
;rep
(i,x)
if(len1[i]
&& bz[tov[i]
]&& depth[tov[i]
]+len2[i]
==depth[x]
)return used;
}inline ll zkwflow()
}return flow;
}int
main()
printf
("%lld "
,zkwflow()
),printf
("%lld\n"
,ans)
;return0;
}
luoguP3381 模板 最小費用最大流
題目描述 如題,給出乙個網路圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網路最大流和在最大流情況下的最小費用。輸入輸出格式 輸入格式 第一行包含四個正整數n m s t,分別表示點的個數 有向邊的個數 源點序號 匯點序號。接下來m行每行包含四個正整數ui vi wi fi,表示第...
Luogu P3381 模板 最小費用最大流
傳送門 最小費用最大流,就是在求最大流的前提下,使選出的路徑費用最小。每條邊除了容量w外,還要記錄乙個單位流量費用co。其實就是 dinic 的 bfs 和 spfa 同時進行,每次更新增廣路時,保證選擇的一定是費用最小的一條路徑。paopo 說這個用不了當前弧優化,所以我就沒用qwq 對於每個點,...
luogu P3381 模板 最小費用最大流
如題,給出乙個網路圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網路最大流和在最大流情況下的最小費用。輸入格式 第一行包含四個正整數n m s t,分別表示點的個數 有向邊的個數 源點序號 匯點序號。接下來m行每行包含四個正整數ui vi wi fi,表示第i條有向邊從ui出發,到...