码迷,mamicode.com
首页 > 其他好文 > 详细

[Algorithm] 前缀和

时间:2018-06-26 17:14:41      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:一个   子矩阵   原理   bsp   algorithm   前缀   时间   矩阵   nbsp   

一维前缀和

主要用于在O(1)时间内找出A[i]+A[i+1]+...+A[j]的和

原理:

用sum[i]表示A[1]+A[2]+...+A[i],则sum[0] = 0, sum[1] = A[1], sum[2] = A[1]+A[2]; sum[3]=A[1]+A[2]+A[3];

则A[i]+A[i+1]+A[i+2]+...+A[j] = sum[j]-sum[i-1]

 

二维前缀和

对于一个矩阵,在O(1)时间内求出子矩阵A[x2-x1][y2-y1]的和。

原理:

用sum[i][j]表示子矩阵中A[i-1][j-1]的和。sum[0][0] = 0, sum[1][1] = A[1][1]+sum[0][1]+sum[1][0]-sum[0][0]

则,sum[i][j] = A[i][j]+sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]

[Algorithm] 前缀和

标签:一个   子矩阵   原理   bsp   algorithm   前缀   时间   矩阵   nbsp   

原文地址:https://www.cnblogs.com/immjc/p/9229728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!