树状数组

- 前置芝士

计算机补码,加减运算,(lowbit(x)=x&-x)

- 核心

- 每个节点所管辖的范围是最低位的lowbit

- 每次加减lowbit调整范围

- 例子

(防止差行,阅读请忽略)

这么一列就明白了
1 01
2 10
3 11
4 100
下面节点除了最高位不同外完全复制上面节点,所以若每次加减 (lowbit) 适用于上面,则同时适用于下边,最高位显然也适用
5 101
6 110
7 111
8 1000
后面同样复制

原文地址:https://www.cnblogs.com/XiaoVsun/p/14992314.html