洛谷 P4722 最大流最快模板

2021-08-28 14:45:36 字數 879 閱讀 2699

題意:直接給出網路流建圖資訊,求最大流

一般的dinic演算法和isap演算法複雜度為o(n^2m),此題有專門資料會卡這兩個演算法。

因此一種複雜度上界在常用最大流演算法中最優的最高標號預留推進演算法(又叫hlpphlpp),其上界為o(n^2 \sqrt m),並且在經過優化後這種演算法在資料隨機的情況下速度也不亞於上述兩種增廣路演算法

不會,直接上板子以後用。

#include#include#include#includeusing std::min;

using std::vector;

using std::queue;

using std::priority_queue;

const int n = 2e4 + 5;

const int m = 2e5 + 5;

const int inf = 0x3f3f3f3f;

int n, s, t, tot;

int v[m << 1], w[m << 1], first[n], next[m << 1];

int h[n], e[n], gap[n << 1], inq[n];

struct cmp

inline bool bfs()

return h[s] != inf;

}inline void push(int now)

return;

}inline void relabel(int now)

} return e[t];

}int m;

signed main()

printf("%d\n", hlpp());

return 0;

}

P4722 模板 最大流

p4722 模板 最大流 加強版 預流推進 今日心血來潮,打算學習hlpp 然後學了一陣子。發現反向邊建錯了。容量並不是0.qwq 然後就荒廢了一晚上。演算法流程的話。有時間補上 include include include include includeusing std min using s...

洛谷P3376 模板 網路最大流

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

洛谷 P3376 模板 網路最大流

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