Skip to content

Commit e9e3ccd

Browse files
committed
naming nit
1 parent a8fab67 commit e9e3ccd

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

library/trees/uncommon/linear_kth_par.hpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,21 @@
1111
//! @space O(n)
1212
struct linear_kth_par {
1313
int n;
14-
vi d, et_i, et_d, idx, lad;
14+
vi d, d_tour, tin, idx, lad;
1515
vector<basic_string<int>> jmp;
1616
linear_kth_par(const auto& g):
17-
n(sz(g)), d(n), et_i(n), et_d(2 * n), idx(n),
17+
n(sz(g)), d(n), d_tour(2 * n), tin(n), idx(n),
1818
lad(2 * n), jmp(2 * n) {
19-
int i = 0, j = 1;
19+
int i = 0, t = 1;
2020
vi st(n);
2121
auto calc = [&](int u) {
22-
et_d[et_i[u] = j] = d[u];
23-
for (int k = 1; k <= min(j & -j, d[u]); k *= 2)
24-
jmp[j] += st[d[u] - k];
25-
j++;
22+
for (int k = 1; k <= min(t & -t, d[u]); k *= 2)
23+
jmp[t] += st[d[u] - k];
24+
d_tour[t++] = d[u];
2625
};
2726
auto dfs = [&](auto dfs, int u, int p) -> vi {
2827
vi path;
29-
st[d[u]] = u;
28+
tin[st[d[u]] = u] = t;
3029
calc(u);
3130
for (int v : g[u])
3231
if (v != p) {
@@ -50,8 +49,8 @@ struct linear_kth_par {
5049
assert(0 <= k && k <= d[u]);
5150
if (k == 0) return u;
5251
int anc_d = d[u] - k, bc = bit_ceil(k + 0u);
53-
int j = (et_i[u] + bc / 2) & -bc;
54-
int i = idx[jmp[j].at(__lg(et_d[j] - anc_d))];
52+
int t = (tin[u] + bc / 2) & -bc;
53+
int i = idx[jmp[t].at(__lg(d_tour[t] - anc_d))];
5554
return lad[i + d[lad[i]] - anc_d];
5655
}
5756
};

0 commit comments

Comments
 (0)