2D累積和による長方形領域和計算

元の行列(4×4)

累積和配列(5×5)

長方形領域和 = S(c+1,d+1) - S(a,d+1) - S(c+1,b) + S(a,b)
目標領域 (a,b) to (c,d)
減算する領域
重複分を加算
計算結果

計算例: 領域 (1,1) から (2,3) の和

ステップ1: S(3,4) = 78 (右下の大きな長方形)
ステップ2: S(1,4) = 10 を減算 (上の不要領域)
ステップ3: S(3,1) = 15 を減算 (左の不要領域)
ステップ4: S(1,1) = 1 を加算 (重複分を戻す)
結果: 78 - 10 - 15 + 1 = 54

時間計算量