树状数组
- 前置芝士
计算机补码,加减运算,\(lowbit(x)=x\&-x\)
- 核心
- 每个节点所管辖的范围是最低位的lowbit
- 每次加减lowbit调整范围
- 例子
(防止差行,阅读请忽略)
这么一列就明白了
1 01
2 10
3 11
4 100
下面节点除了最高位不同外完全复制上面节点,所以若每次加减 \(lowbit\) 适用于上面,则同时适用于下边,最高位显然也适用
5 101
6 110
7 111
8 1000
后面同样复制