Skip to content

Commit 5b1fd09

Browse files
committed
rename self to same name as functoin (clang --shadow allows this)
1 parent 4a9b8c0 commit 5b1fd09

18 files changed

Lines changed: 51 additions & 51 deletions

library/convolution/min_plus_convolution_convex_and_arbitrary.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ vi min_plus(const vi& convex, const vi& arbitrary) {
99
int n = sz(convex);
1010
int m = sz(arbitrary);
1111
vi res(n + m - 1, INT_MAX);
12-
auto dnc = [&](auto&& self, int res_le, int res_ri,
12+
auto dnc = [&](auto&& dnc, int res_le, int res_ri,
1313
int arb_le, int arb_ri) -> void {
1414
if (res_le >= res_ri) return;
1515
int mid_res = (res_le + res_ri) / 2;
@@ -22,9 +22,9 @@ vi min_plus(const vi& convex, const vi& arbitrary) {
2222
op_arb = i;
2323
}
2424
}
25-
self(self, res_le, mid_res, arb_le,
25+
dnc(dnc, res_le, mid_res, arb_le,
2626
min(arb_ri, op_arb + 1));
27-
self(self, mid_res + 1, res_ri, op_arb, arb_ri);
27+
dnc(dnc, mid_res + 1, res_ri, op_arb, arb_ri);
2828
};
2929
dnc(dnc, 0, n + m - 1, 0, m);
3030
return res;

library/graphs/euler_path.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
vector<pii> euler_path(auto& adj, int m, int s) {
1717
vi vis(m);
1818
vector<pii> path;
19-
auto dfs = [&](auto&& self, int u, int eu) -> void {
19+
auto dfs = [&](auto&& dfs, int u, int eu) -> void {
2020
while (!empty(adj[u])) {
2121
auto [v, ev] = adj[u].back();
2222
adj[u].pop_back();
23-
if (!vis[ev]) vis[ev] = 1, self(self, v, ev);
23+
if (!vis[ev]) vis[ev] = 1, dfs(dfs, v, ev);
2424
}
2525
path.emplace_back(u, eu);
2626
};

library/graphs/hopcroft_karp.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ struct hopcroft_karp {
4343
}
4444
}
4545
if (!found) break;
46-
auto dfs = [&](auto&& self, int u) -> bool {
46+
auto dfs = [&](auto&& dfs, int u) -> bool {
4747
for (int v : adj[u]) {
4848
int w = to_l[v];
4949
if (w == -1 ||
50-
(level[u] + 1 == level[w] && self(self, w))) {
50+
(level[u] + 1 == level[w] && dfs(dfs, w))) {
5151
to_r[u] = v;
5252
to_l[v] = u;
5353
return 1;

library/graphs/scc.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
auto scc(const auto& adj) {
1212
int n = sz(adj), num_sccs = 0, q = 0, s = 0;
1313
vi scc_id(n, -1), tin(n), st(n);
14-
auto dfs = [&](auto&& self, int u) -> int {
14+
auto dfs = [&](auto&& dfs, int u) -> int {
1515
int low = tin[u] = ++q;
1616
st[s++] = u;
1717
for (int v : adj[u])
1818
if (scc_id[v] < 0)
19-
low = min(low, tin[v] ?: self(self, v));
19+
low = min(low, tin[v] ?: dfs(dfs, v));
2020
if (tin[u] == low) {
2121
while (scc_id[u] < 0) scc_id[st[--s]] = num_sccs;
2222
num_sccs++;

library/graphs/strongly_connected_components/add_edges_strongly_connected.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ vector<pii> extra_edges(const auto& adj, int num_sccs,
2929
zero_in[scc_id[v]] = 0;
3030
}
3131
vector<bool> vis(num_sccs);
32-
auto dfs = [&](auto&& self, int u) {
32+
auto dfs = [&](auto&& dfs, int u) {
3333
if (empty(scc_adj[u])) return u;
3434
for (int v : scc_adj[u])
3535
if (!vis[v]) {
3636
vis[v] = 1;
37-
int zero_out = self(self, v);
37+
int zero_out = dfs(dfs, v);
3838
if (zero_out != -1) return zero_out;
3939
}
4040
return -1;

library/graphs/strongly_connected_components/offline_incremental_scc.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ vi offline_incremental_scc(vector<array<int, 2>> eds,
1616
vi ids(n, -1), joins(m, m), idx(m), vs(n), scc_id;
1717
iota(all(idx), 0);
1818
vector<vi> adj;
19-
auto divide_and_conquer = [&](auto&& self, auto el,
20-
auto er, int tl, int tr) {
19+
auto dnc = [&](auto&& dnc, auto el, auto er, int tl,
20+
int tr) {
2121
adj.clear();
2222
int mid = midpoint(tl, tr);
2323
for (auto it = el; it != er; it++) {
@@ -42,11 +42,11 @@ vi offline_incremental_scc(vector<array<int, 2>> eds,
4242
auto& [u, v] = eds[*it];
4343
u = scc_id[u], v = scc_id[v];
4444
}
45-
self(self, el, split, tl, mid);
46-
self(self, split, er, mid, tr);
45+
dnc(dnc, el, split, tl, mid);
46+
dnc(dnc, split, er, mid, tr);
4747
};
4848
// uses -1 as the lower bound to correctly handle
4949
// self-edges
50-
divide_and_conquer(divide_and_conquer, all(idx), -1, m);
50+
dnc(dnc, all(idx), -1, m);
5151
return joins;
5252
}

library/graphs/uncommon/bridges.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
auto bridges(const auto& adj, int m) {
1919
int n = sz(adj), num_ccs = 0, q = 0, s = 0;
2020
vi br_id(n, -1), is_br(m), tin(n), st(n);
21-
auto dfs = [&](auto&& self, int u, int p) -> int {
21+
auto dfs = [&](auto&& dfs, int u, int p) -> int {
2222
int low = tin[u] = ++q;
2323
st[s++] = u;
2424
for (auto [v, e] : adj[u])
2525
if (e != p && br_id[v] < 0)
26-
low = min(low, tin[v] ?: self(self, v, e));
26+
low = min(low, tin[v] ?: dfs(dfs, v, e));
2727
if (tin[u] == low) {
2828
if (p != -1) is_br[p] = 1;
2929
while (br_id[u] < 0) br_id[st[--s]] = num_ccs;

library/graphs/uncommon/cuts.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
auto cuts(const auto& adj, int m) {
2020
int n = sz(adj), num_bccs = 0, q = 0, s = 0;
2121
vi bcc_id(m, -1), is_cut(n), tin(n), st(m);
22-
auto dfs = [&](auto&& self, int u, int p) -> int {
22+
auto dfs = [&](auto&& dfs, int u, int p) -> int {
2323
int low = tin[u] = ++q;
2424
for (auto [v, e] : adj[u]) {
2525
assert(u != v);
2626
if (e == p) continue;
2727
if (tin[v] < tin[u]) st[s++] = e;
2828
int lu = -1;
29-
low = min(low, tin[v] ?: (lu = self(self, v, e)));
29+
low = min(low, tin[v] ?: (lu = dfs(dfs, v, e)));
3030
if (lu >= tin[u]) {
3131
is_cut[u] = p >= 0 || tin[u] + 1 < tin[v];
3232
while (bcc_id[e] < 0) bcc_id[st[--s]] = num_bccs;

library/trees/centroid_decomp.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
//! @space O(n)
88
void centroid(auto& adj, auto f) {
99
vi siz(sz(adj));
10-
auto calc_sz = [&](auto&& self, int u, int p) -> void {
10+
auto dfs_sz = [&](auto&& dfs_sz, int u, int p) -> void {
1111
siz[u] = 1;
1212
for (int v : adj[u])
13-
if (v != p) self(self, v, u), siz[u] += siz[v];
13+
if (v != p) dfs_sz(dfs_sz, v, u), siz[u] += siz[v];
1414
};
15-
auto dfs = [&](auto&& self, int u, int p) -> void {
16-
calc_sz(calc_sz, u, -1);
15+
auto dfs = [&](auto&& dfs, int u, int p) -> void {
16+
dfs_sz(dfs_sz, u, -1);
1717
for (int w = -1, sz_root = siz[u];;) {
1818
auto big_ch = ranges::find_if(adj[u], [&](int v) {
1919
return v != w && 2 * siz[v] > sz_root;
@@ -25,7 +25,7 @@ void centroid(auto& adj, auto f) {
2525
for (int v : adj[u]) {
2626
iter_swap(ranges::find(adj[v], u), rbegin(adj[v]));
2727
adj[v].pop_back();
28-
self(self, v, u);
28+
dfs(dfs, v, u);
2929
}
3030
};
3131
dfs(dfs, 0, -1);

library/trees/edge_cd.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,22 @@
1515
//! @space O(n)
1616
template<class G> void edge_cd(vector<G>& adj, auto f) {
1717
vi siz(sz(adj));
18-
auto find_cent = [&](auto&& self, int u, int p,
19-
int m) -> int {
18+
auto cent = [&](auto&& cent, int u, int p,
19+
int m) -> int {
2020
siz[u] = 1;
2121
for (int v : adj[u])
2222
if (v != p) {
23-
int cent = self(self, v, u, m);
24-
if (cent != -1) return cent;
23+
int c = cent(cent, v, u, m);
24+
if (c != -1) return c;
2525
siz[u] += siz[v];
2626
}
2727
return 2 * siz[u] > m
2828
? p >= 0 && (siz[p] = m + 1 - siz[u]),
2929
u : -1;
3030
};
31-
auto dfs = [&](auto&& self, int u, int m) -> void {
31+
auto dfs = [&](auto&& dfs, int u, int m) -> void {
3232
if (m < 2) return;
33-
u = find_cent(find_cent, u, -1, m);
33+
u = cent(cent, u, -1, m);
3434
int sum = 0;
3535
auto it = partition(all(adj[u]), [&](int v) {
3636
ll x = sum + siz[v];
@@ -39,9 +39,9 @@ template<class G> void edge_cd(vector<G>& adj, auto f) {
3939
f(u, it - begin(adj[u]));
4040
G oth(it, end(adj[u]));
4141
adj[u].erase(it, end(adj[u]));
42-
self(self, u, sum);
42+
dfs(dfs, u, sum);
4343
swap(adj[u], oth);
44-
self(self, u, m - sum);
44+
dfs(dfs, u, m - sum);
4545
};
4646
dfs(dfs, 0, sz(adj) - 1);
4747
};

0 commit comments

Comments
 (0)