diff options
Diffstat (limited to 'content/datastructures/treap2.cpp')
| -rw-r--r-- | content/datastructures/treap2.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/content/datastructures/treap2.cpp b/content/datastructures/treap2.cpp index c5a60e9..e40da0d 100644 --- a/content/datastructures/treap2.cpp +++ b/content/datastructures/treap2.cpp @@ -3,7 +3,7 @@ struct Treap { struct Node { ll val; int prio, size = 1, l = -1, r = -1; - Node(ll x) : val(x), prio(rng()) {} + Node(ll x): val(x), prio(rng()) {} }; vector<Node> treap; @@ -15,14 +15,14 @@ struct Treap { void upd(int v) { if (v < 0) return; - auto& V = treap[v]; + auto &V = treap[v]; V.size = 1 + getSize(V.l) + getSize(V.r); // Update Node Code } void push(int v) { if (v < 0) return; - //auto& V = treap[v]; + //auto &V = treap[v]; //if (V.lazy) { // Lazy Propagation Code // if (V.l >= 0) treap[V.l].lazy = true; @@ -33,7 +33,7 @@ struct Treap { pair<int, int> split(int v, int k) { if (v < 0) return {-1, -1}; - auto& V = treap[v]; + auto &V = treap[v]; push(v); if (getSize(V.l) >= k) { // "V.val >= k" for lower_bound(k) auto [left, right] = split(V.l, k); @@ -66,7 +66,7 @@ struct Treap { void insert(int i, ll val) { // and i = val auto [left, right] = split(root, i); treap.emplace_back(val); - left = merge(left, sz(treap) - 1); + left = merge(left, ssize(treap) - 1); root = merge(left, right); } |
