(本文图片来源)
更新前缀和:
当需要计算红色部分前缀和时,由上图容易得知,红色部分前缀和=黄色部分前缀和+蓝色部分前缀和-绿色部分前缀和+本身节点的值。就得到了红色部分前缀和。即:
sum [ i ] [ j ] = sum [ i-1 ][ j ] + sum [ i ][ j-1 ] - sum [ i-1 ][ j ] + sum [ i-1 ][ j-1 ]
使用前缀和:
当需要计算紫色部分(x1,y1)到(x2,y2)的前缀和时候,由上图容易得知,紫色部分前缀和=黄色部分前缀和-左边蓝色部分前缀和-上边蓝色部分前缀和+绿色部分前缀和。即: