二维树状数组分类下的题,开始不会,只想到了枚举行列,居然A掉了= =。。。
后来学习了一下二维树状数组,觉得好神奇啊。。。
二维的话 ,Updata函数里的参数是两个,进行二重循环,Getsum里也是,开始一直错,因为我把俩循环写错了 = =。。。用的while循环,后来见别人都用for循环,觉得还是for循环短啊。。
这个用树状数组做法就是,树状数组里的Getsum(x,y)得到的值是矩阵1,1 -> x,y 这个方块的和,所以要求得s,t大小的,只需要减去左边的块,下面的块,多减了他们的交集再加上即可。
画个图吧。
暴力代码
树状数组