diff options
Diffstat (limited to 'datastructures')
| -rw-r--r-- | datastructures/LCT.cpp | 12 | ||||
| -rw-r--r-- | datastructures/dynamicConvexHull.cpp | 6 | ||||
| -rw-r--r-- | datastructures/fenwickTree2.cpp | 2 | ||||
| -rw-r--r-- | datastructures/monotonicConvexHull.cpp | 2 | ||||
| -rw-r--r-- | datastructures/treap.cpp | 2 | ||||
| -rw-r--r-- | datastructures/unionFind2.cpp | 10 |
6 files changed, 16 insertions, 18 deletions
diff --git a/datastructures/LCT.cpp b/datastructures/LCT.cpp index fde052d..b67ab82 100644 --- a/datastructures/LCT.cpp +++ b/datastructures/LCT.cpp @@ -35,13 +35,13 @@ struct LCT { int id, size; Node *left, *right, *parent; - Node(int id = 0, int val = queryDefault) : - nodeValue(val), subTreeValue(val), delta(updateDefault), + Node(int id = 0, int val = queryDefault) : + nodeValue(val), subTreeValue(val), delta(updateDefault), revert(false), id(id), size(1), left(nullptr), right(nullptr), parent(nullptr) {} bool isRoot() { - return !parent || (parent->left != this && + return !parent || (parent->left != this && parent->right != this); } @@ -53,7 +53,7 @@ struct LCT { if (right) right->revert ^= 1; } nodeValue = joinValueDelta(nodeValue, delta); - subTreeValue = joinValueDelta(subTreeValue, + subTreeValue = joinValueDelta(subTreeValue, _update(delta, size)); if (left) left->delta = joinDeltas(left->delta, delta); if (right) right->delta = joinDeltas(right->delta, delta); @@ -73,7 +73,7 @@ struct LCT { size += left->size; } if (right) { - subTreeValue = _query(subTreeValue, + subTreeValue = _query(subTreeValue, right->getSubtreeValue()); size += right->size; }} @@ -111,7 +111,7 @@ struct LCT { if (!p->isRoot()) g->push(); p->push(); x->push(); - if (!p->isRoot()) rotate((x == p->left) == + if (!p->isRoot()) rotate((x == p->left) == (p == g->left) ? p : x); rotate(x); } diff --git a/datastructures/dynamicConvexHull.cpp b/datastructures/dynamicConvexHull.cpp index 61ba976..f88b2ad 100644 --- a/datastructures/dynamicConvexHull.cpp +++ b/datastructures/dynamicConvexHull.cpp @@ -1,13 +1,13 @@ struct Line { mutable ll m, b, p; - bool operator<(const Line& o) const { return m < o.m; } - bool operator<(ll x) const { return p < x; } + bool operator<(const Line& o) const {return m < o.m;} + bool operator<(ll x) const {return p < x;} }; struct HullDynamic : multiset<Line, less<>> { // (for doubles, use inf = 1/.0, div(a,b) = a/b) static constexpr ll INF = LLONG_MAX; - ll div(ll a, ll b) { return a / b - ((a ^ b) < 0 && a % b); } + ll div(ll a, ll b) {return a / b - ((a ^ b) < 0 && a % b);} bool isect(iterator x, iterator y) { if (y == end()) {x->p = INF; return false;} diff --git a/datastructures/fenwickTree2.cpp b/datastructures/fenwickTree2.cpp index dfd5dc5..ff87e2e 100644 --- a/datastructures/fenwickTree2.cpp +++ b/datastructures/fenwickTree2.cpp @@ -4,7 +4,7 @@ void update(int l, int r, ll val) { for (int tl = l + 1; tl < sz(add); tl += tl&(-tl)) add[tl] += val, mul[tl] -= val * l; for (int tr = r + 1; tr < sz(add); tr += tr&(-tr)) - add[tr] -= val, mul[tr] += val * r; + add[tr] -= val, mul[tr] += val * r; } void init(vector<ll>& v) { diff --git a/datastructures/monotonicConvexHull.cpp b/datastructures/monotonicConvexHull.cpp index 7003855..4b3dbff 100644 --- a/datastructures/monotonicConvexHull.cpp +++ b/datastructures/monotonicConvexHull.cpp @@ -3,7 +3,7 @@ vector<ll> ms, bs; int ptr = 0; bool bad(int l1, int l2, int l3) { - return (bs[l3]-bs[l1])*(ms[l1]-ms[l2]) < + return (bs[l3]-bs[l1])*(ms[l1]-ms[l2]) < (bs[l2]-bs[l1])*(ms[l1]-ms[l3]); } diff --git a/datastructures/treap.cpp b/datastructures/treap.cpp index eef56b4..c96e36a 100644 --- a/datastructures/treap.cpp +++ b/datastructures/treap.cpp @@ -1,6 +1,6 @@ struct node { int key, prio, left, right, size; - node(int key, int prio) : key(key), prio(prio), left(-1), + node(int key, int prio) : key(key), prio(prio), left(-1), right(-1), size(1) {}; }; diff --git a/datastructures/unionFind2.cpp b/datastructures/unionFind2.cpp index 225ecee..b86c8e0 100644 --- a/datastructures/unionFind2.cpp +++ b/datastructures/unionFind2.cpp @@ -11,17 +11,15 @@ int findSet(int i) { } void linkSets(int i, int j) { - //Take |uf[i]|, where i must be a root, to get the size + //Take |uf[i]|, where i must be a root, to get the size //of the subset if(abs(uf[i]) < abs(uf[j])) { //Union-by-size. - uf[j] += uf[i]; uf[i] = j; + uf[j] += uf[i]; uf[i] = j; } else { - uf[i] += uf[j]; uf[j] = i; + uf[i] += uf[j]; uf[j] = i; } } void unionSets(int i, int j) { if(findSet(i) != findSet(j)) linkSets(findSet(i),findSet(j)); -} - - +} |
