BIT
一个动态维护前缀和的工具

class BIT:
def __init__(self, n):
self.tree = [0] * (n + 1)
self.n = n
def lowbit(self, x):
return x & -x
def update(self, x, k):
while x <= self.n:
self.tree[x] += k
x += self.lowbit(x)
def query(self, x):
ans = 0
while x > 0:
ans += self.tree[x]
x -= self.lowbit(x)
return ans

浙公网安备 33010602011771号