Skip to content

Commit d131623

Browse files
committed
nits
1 parent cf3f094 commit d131623

2 files changed

Lines changed: 10 additions & 13 deletions

File tree

library/trees/uncommon/ladder_decomposition.hpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,41 +14,40 @@
1414
//! @endcode
1515
struct ladder {
1616
int n;
17-
vi d, p, idx, l;
17+
vi d, p, idx, lad;
1818
vector<vi> jmp;
1919
ladder(const auto& g):
20-
n(sz(g)), d(n), p(n), idx(n), l(2 * n) {
20+
n(sz(g)), d(n), p(n), idx(n), lad(2 * n) {
2121
int i = 0;
22-
vi s(n);
2322
auto dfs = [&](auto dfs, int u) -> vi {
2423
vi path;
25-
s[d[u]] = u;
2624
for (int v : g[u])
2725
if (v != p[u]) {
2826
d[v] = d[p[v] = u] + 1;
2927
vi x = dfs(dfs, v);
3028
if (sz(x) > sz(path)) swap(x, path);
3129
for (int y : x) idx[y] = i;
32-
for (int y : x) l[i++] = y;
33-
rep(j, 0, min(sz(x), d[v])) l[i++] = s[d[u] - j];
30+
for (int y : x) lad[i++] = y;
31+
rep(j, 0, min<int>(sz(x), d[v])) lad[i] =
32+
p[lad[i - 1]], i++;
3433
}
3534
path.push_back(u);
3635
return path;
3736
};
3837
vi x = dfs(dfs, 0);
3938
for (int y : x) idx[y] = i;
40-
for (int y : x) l[i++] = y;
39+
for (int y : x) lad[i++] = y;
4140
jmp = treeJump(p);
4241
}
4342
int kth_par(int u, int k) {
4443
assert(0 <= k && k <= d[u]);
4544
if (k == 0) return u;
4645
int bit = __lg(k);
4746
u = jmp[bit][u], k -= (1 << bit);
48-
int i = idx[u], j = i + d[l[i]] - d[u];
49-
assert(l[j] == u);
50-
// subarray [j, j+k] of l corresponds to the rest
47+
int i = idx[u], j = i + d[lad[i]] - d[u];
48+
assert(lad[j] == u);
49+
// subarray [j, j+k] of lad corresponds to the rest
5150
// of the jump
52-
return l[j + k];
51+
return lad[j + k];
5352
}
5453
};

tests/library_checker_aizu_tests/trees/kth_path_ladder.test.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#define PROBLEM \
22
"https://judge.yosupo.jp/problem/jump_on_tree"
33
#include "../template.hpp"
4-
#undef sz
5-
#define sz(x) (int)ssize(x)
64
#include "../../../library/trees/uncommon/ladder_decomposition.hpp"
75
int main() {
86
cin.tie(0)->sync_with_stdio(0);

0 commit comments

Comments
 (0)