模板 網路最大流ISAP

2021-10-10 15:01:57 字數 1202 閱讀 7425

【模板】網路最大流isap

建反邊從t到s,bfs跑記錄每個點所在層,gap記錄每層的點數

#include

using

namespace std;

typedef

long

long ll;

const ll max_n =

1e6;

const ll max_m =

1e6;

const ll max_e = max_m *2;

const ll inf =

2147483647

;ll head[max_n]

, next[max_e]

, to[max_e]

, w[max_e]

, tot=

1,s,t,n,m;

ll dep[max_n]

, gap[max_n]

, cur[max_n]

;//deep記錄分層資訊,num記錄每一層的點數,lastedge記錄前驅節點

inline

void

add(ll x, ll y, ll cap)

//處理邊的資訊,注意從0開始存

void

bfs()}

}ll maxf;

ll dfs

(ll x,ll flow)

ll used=0;

//記錄當前節點 用了多少流量

for(ll i=cur[x]

;i;i=next[i])if

(used==flow)

//用完了, 返回

return flow;}}

--gap[dep[x]];

//出現斷層 ,dep[s]=n+1,退出isap

if(gap[dep[x]]==

0)dep[s]

=n+1

; dep[x]++;

//x節點跑完,x層數 + 1

gap[dep[x]]++

; cur[x]

=head[x]

;return used;

}ll isap()

return maxf;

}int

main()

printf

("%lld\n"

,isap()

);}

網路流 最大流 ISAP 模板

至於怎麼找到的呢 我才不會說是當初搜網路流乙個個都不理解然後翻到十幾頁點進去看到的 吶 貌似是 國立台灣師範大學 的 這學校是不是這個名 繁體我不會認啊好尷尬 前言 首先不知道這是 isap 還是 sap.作為乙個剛學網路流的蒟蒻 frocean 感覺這網路流真是個玄學的東西 跟著標打模板 0分 0...

最大流 ISAP 模板

isap演算法還不懂的戳這裡 最大流入門題傳送門 poj 1273 drainage ditches 下面是isap 當前弧優化 gap優化的 include include include define clear a,x memset a,x,sizeof a define copy a,b m...

模板 最大流模板(ISAP)

題目描述 如題,給出乙個網路圖,以及其源點和匯點,求出其網路最大流。輸入輸出格式 輸入格式 第一行包含四個正整數n m s t,分別表示點的個數 有向邊的個數 源點序號 匯點序號。接下來m行每行包含三個正整數ui vi wi,表示第i條有向邊從ui出發,到達vi,邊權為wi 即該邊最大流量為wi 輸...