树状数组 t[x] 节点的父节点为 t[x + lowbit(x)] 整棵树的深度为 log2n +1 1 . add(x,k) 给指定的节点x加上k — 动态的维护前缀和 需要从x开始,向上找到所有父节点,值都加上k 2. ask(x) 求取节点x之前的前缀和 求取单点之前的前缀和只需要累加即可 如果是求取指定区间的前缀和,我们只需要分别求出两个端点的前缀和然后作差即可 还可以进行的操作: 1、上面已经实现了单点修改,区间查询 还可以实现 2. 区间修改,单点查询 3. 区间修改,区间查询