luogu3376 模板 網路最大流

2021-08-14 13:47:09 字數 1270 閱讀 5864

題目描述

如題,給出乙個網路圖,以及其源點和匯點,求出其網路最大流。

輸入輸出格式

輸入格式:

第一行包含四個正整數n、m、s、t,分別表示點的個數、有向邊的個數、源點序號、匯點序號。

接下來m行每行包含三個正整數ui、vi、wi,表示第i條有向邊從ui出發,到達vi,邊權為wi(即該邊最大流量為wi)

輸出格式:

一行,包含乙個正整數,即為該網路的最大流。

輸入輸出樣例

輸入樣例#1: 複製

4 5 4 3

4 2 30

4 3 20

2 3 20

2 1 30

1 3 40

輸出樣例#1: 複製

說明時空限制:1000ms,128m

資料規模:

對於30%的資料:n<=10,m<=25

對於70%的資料:n<=200,m<=1000

對於100%的資料:n<=10000,m<=100000

樣例說明:

題目中存在3條路徑:

4–>2–>3,該路線可通過20的流量

4–>3,可通過20的流量

4–>2–>1–>3,可通過10的流量(邊4–>2之前已經耗費了20的流量)

故流量總計20+20+10=50。輸出50。

#include

#include

#include

#include

#define m 110000

#define n 11000

#define inf 0x3f3f3f3f

using

namespace

std;

inline

char gc()

return *s++;

}inline

int read()

return x;

}int num=1,level[n],n,m,s,t,h[n];

struct nodedata[m<<1];

inline

bool bfs()

}return0;}

int dfs(int x,int s)

}return ss-s;

}int main()

int ans=0;

while (bfs()) ans+=dfs(s,inf);

printf("%d",ans);

return

0;}

luogu3376 模板 網路最大流

給出乙個網路圖,以及其源點和匯點,求出其網路最大流。可以把網路圖看作管道,節點看作管道的交界處。流就像是管道裡的流水。管道有個容量 相當於橫截面積 還會有個流量 相當於水流佔了管道的多少橫截面積 管道的交界處的流量滿足流入的流量和等於流出的流量和。網路圖有源點和匯點,水流必須從源流到匯。現在要你求整...

P3376 模板 網路最大流

網路流用於解決流量問題 網路流 所有弧上流量的集合f 稱為該容量網路的乙個網路流。1 定義 帶權的有向圖g v,e 滿足以下條件,則稱為網路流圖 flow network 僅有乙個入度為0的頂點s,稱s為源點。僅有乙個出度為0的頂點t,稱t為匯點。每條邊的權值都為非負數,稱為該邊的容量,記作c i,...

Luogu P3376 模板 網路最大流

傳送門 noip之前,我絕對不學網路流。我網路流可以解決這樣一類問題 給定乙個有向圖,每條邊有乙個流量上限,求從源點到匯點所能運輸的最大流量。解決這類問題的一種演算法叫做 dinic 一些性質 對於任意乙個時刻,設c u,v 為容量,f u,v 為實際流量,則整個圖g的流網路滿足3個性質 原理 假設...