概念
概念的话感觉就不是很好理解,但是满足树状数组的功能特性:对数组进行简化(因为C数组的辅助),使得之后优化遍历的时间复杂度到log。因此,二维树状数组其实也就这个用,只是之前是针对一维,现在是针对二维。
百度百科这样写的,其实看不看懂问题不大:
模板
主要是要记住下面的方法!
单点更新 和 区间查询。
其实A数组要不要都无所谓,因为C数组的更新其实就代表了A数组的更新。看题意。
区间查询操作一般是为了用于“子矩阵查询”,公式如上。
其实很好理解,区间查询sum(i,j)指的是从矩阵左上方拉到A[i][j]处的矩形,而把它修剪一下,就能得到想要的子矩阵。
画了个图理解: