Skip to content

Commit dc03ae6

Browse files
committed
Merge branch 'dev' into remove-some-docs
2 parents fa8c884 + 421ea33 commit dc03ae6

File tree

6 files changed

+36
-183
lines changed

6 files changed

+36
-183
lines changed

.verify-helper/timestamps.remote.json

Lines changed: 0 additions & 144 deletions
This file was deleted.

library/data_structures_[l,r)/lazy_seg_tree.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,29 +23,29 @@ struct seg_tree {
2323
}
2424
}
2525
void update(int l, int r, ll change) {
26-
update_impl(l, r, change, 0, n, 1);
26+
update(l, r, change, 0, n, 1);
2727
}
28-
void update_impl(int l, int r, ll change, int tl, int tr,
28+
void update(int l, int r, ll change, int tl, int tr,
2929
int v) {
3030
if (r <= tl || tr <= l) return;
3131
if (l <= tl && tr <= r)
3232
return apply(change, tl, tr, v);
3333
int tm = split(tl, tr);
3434
push(tl, tm, tr, v);
35-
update_impl(l, r, change, tl, tm, 2 * v);
36-
update_impl(l, r, change, tm, tr, 2 * v + 1);
35+
update(l, r, change, tl, tm, 2 * v);
36+
update(l, r, change, tm, tr, 2 * v + 1);
3737
tree[v] = op(tree[2 * v], tree[2 * v + 1]);
3838
}
3939
ll query(int l, int r) {
40-
return query_impl(l, r, 0, n, 1);
40+
return query(l, r, 0, n, 1);
4141
}
42-
ll query_impl(int l, int r, int tl, int tr, int v) {
42+
ll query(int l, int r, int tl, int tr, int v) {
4343
if (r <= tl || tr <= l) return 0;
4444
if (l <= tl && tr <= r) return tree[v];
4545
int tm = split(tl, tr);
4646
push(tl, tm, tr, v);
47-
return op(query_impl(l, r, tl, tm, 2 * v),
48-
query_impl(l, r, tm, tr, 2 * v + 1));
47+
return op(query(l, r, tl, tm, 2 * v),
48+
query(l, r, tm, tr, 2 * v + 1));
4949
}
5050
#include "seg_tree_uncommon/find_first.hpp"
5151
#include "seg_tree_uncommon/find_last.hpp"

library/data_structures_[l,r)/seg_tree_uncommon/kth_smallest_query.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ struct kth_smallest {
2020
//! @space O(log(maxv - minv)) for recursion stack; no
2121
//! new nodes are allocated
2222
int query(int l, int r, int k) {
23-
return query_impl(k, pst.root_l, pst.root_r,
24-
pst.roots[l], pst.roots[r]);
23+
return query(k, pst.root_l, pst.root_r, pst.roots[l],
24+
pst.roots[r]);
2525
}
26-
int query_impl(int k, int tl, int tr, int vl, int vr) {
26+
int query(int k, int tl, int tr, int vl, int vr) {
2727
if (tr - tl == 1) return tl;
2828
int tm = tl + (tr - tl) / 2;
2929
int left_count = pst.tree[pst.tree[vr].lch].sum -
3030
pst.tree[pst.tree[vl].lch].sum;
3131
if (left_count >= k)
32-
return query_impl(k, tl, tm, pst.tree[vl].lch,
32+
return query(k, tl, tm, pst.tree[vl].lch,
3333
pst.tree[vr].lch);
34-
return query_impl(k - left_count, tm, tr,
35-
pst.tree[vl].rch, pst.tree[vr].rch);
34+
return query(k - left_count, tm, tr, pst.tree[vl].rch,
35+
pst.tree[vr].rch);
3636
}
3737
};

library/data_structures_[l,r)/seg_tree_uncommon/merge_sort_tree.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ struct merge_sort_tree {
1414
//! @time O(log(n)^2)
1515
//! @space O(1)
1616
int query(int l, int r, int vl, int vr) {
17-
return query_impl(l, r, vl, vr, 0, n, 1);
17+
return query(l, r, vl, vr, 0, n, 1);
1818
}
19-
int query_impl(int l, int r, int vl, int vr, int tl,
20-
int tr, int v) {
19+
int query(int l, int r, int vl, int vr, int tl, int tr,
20+
int v) {
2121
if (r <= tl || tr <= l) return 0;
2222
if (l <= tl && tr <= r)
2323
return ranges::lower_bound(tree[v], vr) -
2424
ranges::lower_bound(tree[v], vl);
2525
int tm = split(tl, tr);
26-
return query_impl(l, r, vl, vr, tl, tm, 2 * v) +
27-
query_impl(l, r, vl, vr, tm, tr, 2 * v + 1);
26+
return query(l, r, vl, vr, tl, tm, 2 * v) +
27+
query(l, r, vl, vr, tm, tr, 2 * v + 1);
2828
}
2929
};

library/data_structures_[l,r)/seg_tree_uncommon/persistent.hpp

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,31 @@ struct PST {
2222
root_l(root_l), root_r(root_r), roots(1),
2323
tree(1, {0LL, 0, 0}) {}
2424
void update(int idx, ll change, int version) {
25-
roots.push_back(update_impl(idx, change, root_l,
26-
root_r, roots[version]));
25+
roots.push_back(
26+
update(idx, change, root_l, root_r, roots[version]));
2727
}
28-
int update_impl(int idx, ll change, int tl, int tr,
29-
int v) {
28+
int update(int idx, ll change, int tl, int tr, int v) {
3029
if (tr - tl == 1) {
3130
tree.emplace_back(tree[v].sum + change, 0, 0);
3231
return sz(tree) - 1;
3332
}
3433
int tm = tl + (tr - tl) / 2;
3534
int lch = tree[v].lch;
3635
int rch = tree[v].rch;
37-
if (idx < tm)
38-
lch = update_impl(idx, change, tl, tm, lch);
39-
else rch = update_impl(idx, change, tm, tr, rch);
36+
if (idx < tm) lch = update(idx, change, tl, tm, lch);
37+
else rch = update(idx, change, tm, tr, rch);
4038
tree.emplace_back(tree[lch].sum + tree[rch].sum, lch,
4139
rch);
4240
return sz(tree) - 1;
4341
}
4442
ll query(int l, int r, int version) {
45-
return query_impl(l, r, root_l, root_r,
46-
roots[version]);
43+
return query(l, r, root_l, root_r, roots[version]);
4744
}
48-
ll query_impl(int l, int r, int tl, int tr, int v) {
45+
ll query(int l, int r, int tl, int tr, int v) {
4946
if (v == 0 || r <= tl || tr <= l) return 0;
5047
if (l <= tl && tr <= r) return tree[v].sum;
5148
int tm = tl + (tr - tl) / 2;
52-
return query_impl(l, r, tl, tm, tree[v].lch) +
53-
query_impl(l, r, tm, tr, tree[v].rch);
49+
return query(l, r, tl, tm, tree[v].lch) +
50+
query(l, r, tm, tr, tree[v].rch);
5451
}
5552
};

0 commit comments

Comments
 (0)