正好刷题时碰到了这个之前遇到过的问题,类似的还有区间修改区间查询,以后学了会补上. 我们知道BIT只支持单点修改区间查询,如果现在问题变成每次让一个区间的数同时变化,然后询问的是某一个点得值的时候该怎么办. 线段树当然可以,但是很麻烦,不仅是写的麻烦,复杂度也相对较高,下面介绍一下BIT的做法. 可以把原数组a转化为一个差分数组b,让b[i]=a[i]-a[i-1] ,这样的话a[i]=b[1]+b[2]+...+b[i] ,例如 a[]={1,3,9,4} 则b[]={1,2,6,-5} ,…