Skip to content

Commit d792b2c

Browse files
committed
now formatted
1 parent bbb2a2e commit d792b2c

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

library/trees/ladder_decomposition/linear_kth_par.hpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@ struct linear_kth_par {
1919
};
2020
vector<node> t;
2121
vector<pii> j;
22-
linear_kth_par(const auto& adj) : t(sz(adj)), j(2 * sz(t)) {
22+
linear_kth_par(const auto& adj):
23+
t(sz(adj)), j(2 * sz(t)) {
2324
vi st;
2425
int pos = 1;
2526
auto add_j = [&]() -> void {
26-
j[pos] = {st[max<int>(0, sz(st) - 1 - 2 * (pos & -pos))],
27-
st[max<int>(0, sz(st) - 1 - 4 * (pos & -pos))]};
27+
j[pos] = {
28+
st[max<int>(0, sz(st) - 1 - 2 * (pos & -pos))],
29+
st[max<int>(0, sz(st) - 1 - 4 * (pos & -pos))]};
2830
pos++;
2931
};
3032
auto dfs = [&](auto&& self, int v) -> void {
@@ -35,7 +37,8 @@ struct linear_kth_par {
3537
if (u != t[v].p) {
3638
t[u].d = t[t[u].p = v].d + 1;
3739
self(self, u);
38-
if (t[t[u].dl].d > t[t[v].dl].d) t[v].dl = t[u].dl;
40+
if (t[t[u].dl].d > t[t[v].dl].d)
41+
t[v].dl = t[u].dl;
3942
add_j();
4043
}
4144
st.pop_back();
@@ -52,17 +55,14 @@ struct linear_kth_par {
5255
int kth_par(int v, int k) {
5356
assert(0 <= k && k <= t[v].d);
5457
switch (k) {
55-
case 0:
56-
return v;
57-
case 1:
58-
return t[v].p;
59-
case 2:
60-
return t[t[v].p].p;
61-
default:
62-
int i = bit_floor(unsigned(k / 3));
63-
auto [j1, j2] = j[(t[v].idx_j & -i) | i];
64-
int leaf = t[t[v].d - t[j2].d <= k ? j2 : j1].dl;
65-
return t[leaf].lad[k + t[leaf].d - t[v].d];
58+
case 0: return v;
59+
case 1: return t[v].p;
60+
case 2: return t[t[v].p].p;
61+
default:
62+
int i = bit_floor(unsigned(k / 3));
63+
auto [j1, j2] = j[(t[v].idx_j & -i) | i];
64+
int leaf = t[t[v].d - t[j2].d <= k ? j2 : j1].dl;
65+
return t[leaf].lad[k + t[leaf].d - t[v].d];
6666
}
6767
}
6868
};

0 commit comments

Comments
 (0)