树状数组
一、区间求和&&单点修改
树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于数组的单点修改&&区间求和
C [ i ] = A [ i - 2^k + 1 ] + A [ i - 2^k + 2 ] + ...... A [ i ] ; (k为i的二进制中从最低位到高位连续零的长度)
树状数组一般是单点修改和区间查询,如果是区间修改和单点查询的话,可以用差分。 d [ i ] = a [ i ] - a[ i - 1 ] , a [ i ] = sum( d [ j ] )