summaryrefslogtreecommitdiff
path: root/graph/pushRelabel3.cpp
diff options
context:
space:
mode:
authormzuenni <michi.zuendorf@gmail.com>2023-08-29 01:07:11 +0200
committermzuenni <michi.zuendorf@gmail.com>2023-08-29 01:07:11 +0200
commitbc7a54f2a10ff3bb76cf4920be53000264bad279 (patch)
treeb19e51925e5aa067bf0aba866b9447ba31973adf /graph/pushRelabel3.cpp
parent4905811a7c635f28827984a999aedacd910f4dc3 (diff)
consistency
Diffstat (limited to 'graph/pushRelabel3.cpp')
-rw-r--r--graph/pushRelabel3.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/graph/pushRelabel3.cpp b/graph/pushRelabel3.cpp
index 3c17fcb..4f383f6 100644
--- a/graph/pushRelabel3.cpp
+++ b/graph/pushRelabel3.cpp
@@ -37,30 +37,30 @@ ll maxFlow(int s, int t) {
for (int id : adj[s]) addFlow(id, edges[id].c);
for (int hi = 0;;) {
while (hs[hi].empty()) if (!hi--) return -ec[s];
- int u = hs[hi].back();
+ int v = hs[hi].back();
hs[hi].pop_back();
- while (ec[u] > 0) {
- if (cur[u] == sz(adj[u])) {
- H[u] = 2*n;
- for (int i = 0; i < sz(adj[u]); i++) {
- int id = adj[u][i];
+ while (ec[v] > 0) {
+ if (cur[v] == sz(adj[v])) {
+ H[v] = 2*n;
+ for (int i = 0; i < sz(adj[v]); i++) {
+ int id = adj[v][i];
if (edges[id].c - edges[id].f > 0 &&
- H[u] > H[edges[id].to] + 1) {
- H[u] = H[edges[id].to] + 1;
- cur[u] = i;
+ H[v] > H[edges[id].to] + 1) {
+ H[v] = H[edges[id].to] + 1;
+ cur[v] = i;
}}
- co[H[u]]++;
+ co[H[v]]++;
if (!--co[hi] && hi < n) {
for (int i = 0; i < n; i++) {
if (hi < H[i] && H[i] < n) {
co[H[i]]--;
H[i] = n + 1;
}}}
- hi = H[u];
+ hi = H[v];
} else {
- auto e = edges[adj[u][cur[u]]];
- if (e.c - e.f > 0 && H[u] == H[e.to] + 1) {
- addFlow(adj[u][cur[u]], min(ec[u], e.c - e.f));
+ auto e = edges[adj[v][cur[v]]];
+ if (e.c - e.f > 0 && H[v] == H[e.to] + 1) {
+ addFlow(adj[v][cur[v]], min(ec[v], e.c - e.f));
} else {
- cur[u]++;
+ cur[v]++;
}}}}}