树状数组原理及经典应用问题
树状数组对于数组相信大家并不陌生,那么为什么要在数组前面加上‘树状’二字呢?数组是一种存储结构,树状数组是一种逻辑结构,它巧妙的应用了二进制的某些性质,使得数组的某些区间查询和修改变得非常的快,就像下面这个问题题目链接如果用朴素方法解决这个问题,显然时间复杂度不过关,那么我们采用树状数组的思想来解决这个问题lowbit先看一个重要的函数int lowbit(int x){ return x & -x;}这个函数的作用是找到x所对应二进制数的最后一个1,一个数的负数