Data Structures19 sections · 729 units
Open in Course

Problem - Range Sum Query Mutable

BIT vs Segment Tree

Given an integer array nums, implement:

  • update(index, val): Update nums[index] to val
  • sumRange(left, right): Return sum from left to right You solved this with segment trees.

Now solve it with Fenwick Trees. For range sum: sum(l,r)=prefix(r)prefix(l1)\text{sum}(l, r) = \text{prefix}(r) - \text{prefix}(l-1).

Note: Fenwick Trees typically support "add delta" not "set value." To set, compute the delta: δ=newValcurrentVal\delta = \text{newVal} - \text{currentVal}. Constraints: up to 31043 \cdot 10^4 elements.