diff options
| author | mzuenni <michi.zuendorf@gmail.com> | 2025-08-19 14:19:08 +0200 |
|---|---|---|
| committer | mzuenni <michi.zuendorf@gmail.com> | 2025-08-19 14:19:08 +0200 |
| commit | c30de75ac12e6503a220c321353c3f78b118c474 (patch) | |
| tree | 47fa37b8053fb82f9c9b20eb8ac8a8b43a1a2295 /content | |
| parent | 606f638f580d815503ee685f75ee4ab22a71fe60 (diff) | |
improve lct?
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) { |
