summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--content/datastructures/LCT.cpp7
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) {