这是C++算法基础-基础算法专栏的第十二篇文章,专栏详情请见此处。
ps:上个周去旅游,忘记发文了,在这里向大家说声抱歉,预计将会在周五再发一篇文章补偿─=≡Σ(((つ•̀ω•́)つ
引入
上次我们学习了在一维数组上的一维前缀和方法,而在二维数组上的二维前缀和也有和一维前缀和一样的优异功能。
下面我们就来讲二维前缀和的实现。
二维前缀和与一维前缀和的定义是大致相同的,如果想了解具体内容,可以移步至我的这篇博客:一维前缀和的实现。
在这里就不再详细讲解,只讲解主体过程qwq
过程
二维前缀和较复杂,它是基于容斥原理实现的。
表示
对于原数组
,二维前缀和额外开辟了一个数组
,
中储存了
格子左