外观
树状数组 
python
class BIT:
    def __init__(self, n):
        self.tree = [0] * n
    # 将下标 i 上的数加 x
    def add(self, i: int, x: int) -> None:
        while i < len(self.tree):
            self.tree[i] += x
            i += i & -i
    # 返回闭区间 [1, i] 的元素和
    def sum(self, i: int) -> int:
        res = 0
        while i > 0:
            res += self.tree[i]
            i &= i - 1
        return res
    # 返回闭区间 [left, right] 的元素和
    def query(self, left: int, right: int) -> int:
        return self.sum(right) - self.sum(left - 1) Alexshwing
Alexshwing