diff options
Diffstat (limited to 'content')
| -rw-r--r-- | content/datastructures/LCT.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/content/datastructures/LCT.cpp b/content/datastructures/LCT.cpp index c1dd278..e88c8d3 100644 --- a/content/datastructures/LCT.cpp +++ b/content/datastructures/LCT.cpp @@ -53,8 +53,7 @@ struct LCT { if (right) right->revert ^= 1; } nodeValue = joinValueDelta(nodeValue, delta); - subTreeValue = joinValueDelta(subTreeValue, - _update(delta, size)); + subTreeValue = getSubtreeValue(); if (left) left->delta = joinDeltas(left->delta, delta); if (right) right->delta = joinDeltas(right->delta, delta); delta = updateDefault; @@ -68,8 +67,8 @@ struct LCT { subTreeValue = joinValueDelta(nodeValue, delta); size = 1; if (left) { - subTreeValue = _query(subTreeValue, - left->getSubtreeValue()); + subTreeValue = _query(left->getSubtreeValue(), + subTreeValue); size += left->size; } if (right) { |
