dinic(無當前弧優化):
void add(int x,int y,int z)
int dfs(int x,int
sum)
}return0;}
int bfs()
if (dep[t]>0) return
1; else
return0;}
int dinic()
return ans;
}
dinic(含當前弧優化)
多了乙個cur陣列,很好理解。
int bfs()
return dep[t];
}int dfs(int x,int
sum)
}return0;}
int dinic()
return ans;
}
例題:
經典模板題:
poj1273
hihocoder1369
提高練習:
建邊技巧最小割
成本收益最大化
點權與邊權轉換
Dijkstra演算法 例題
dijkstra演算法 從起點到終點求最短路 使用要求權值為正 1 求短路i 題目 點數 500 邊數 1e5 include include include using namespace std const int n 510,m 1e5 10 時間複雜度o n m int n,m 鄰接矩陣 i...
模擬演算法例題
一 火柴棒 題目描述 給你n根火柴棍,你可以拼出多少個形如 a b c 的等式?等式中的a b c是用火柴棍拼出的整數 若該數非零,則最高位不能是0 用火柴棍拼數字0 9的拼法如圖所示 注意 1 加號與等號各自需要兩根火柴棍 2 如果a b,則a b c與b a c視為不同的等式 a b c 0 3...
manacher演算法 例題
簡單而有通俗的講解,講的太好了 證明對於一些我的理解,我會以 注釋的形式寫在 裡,我不懶 char str maxn char temp maxn 1 10 擴充套件後的字串 int len maxn 1 10 擴充套件後字串第i個位置回文串從中間到第有邊界的長度 相當於 回文子串長度 2 1 在用...