【算法】前缀和及差分数组

前缀和

原数组x0x1x2x3x4x5
前缀和数组x0x0+x1x0+x1+x2x0+x1+x2+x3x0+x1+x2+x3+x4x0+x1+x2+x3+x4+x5
前缀和数组代数形式x0’x1’x2’x3’x4’x5’

计算原数组某区间的和 sum[x1,x2,x3]
利用前缀和计算
x3'-x0' = x0+x1+x2+x3-x0 = x1+x2+x3

差分数组

x0x1x2x3x4x5
原数组x0x1x2x3x4x5
差分数组x0x1-x0x2-x1x3-x2x4-x3x5-x4
差分数组代数形式x0’x1’x2’x3’x4’x5’

计算原数组某区间所有元素同时增加 inc之后的数组

x0x1x2x3x4x5
原数组区间[1,4]增加incx0x1+incx2+incx3+incx4+incx5
差分数组x0x1-x0+incx2-x1x3-x2x4-x3x5-x4-inc
步骤x0x1x2x3x4x5
1x0x1-x0+inc+x0
2x0x1+incx2-x1+x1+inc
3x0x1+incx2+inc
4x0x1+incx2+incx3-x2+x2+inc
5x0x1+incx2+incx3+incx4-x3+x3+inc
6x0x1+incx2+incx3+incx4+incx5-x4-inc+x4+inc
7x0x1+incx2+incx3+incx4+incx5

可以看到最终与原数组区间[1,4]增加inc的结果一样

【结论】
原数组区间[l, r]的元素增加 inc
等价于其差分数组元素 d[l] + inc和元素 d[r] - inc之后的前缀和数组
在这里插入图片描述

力扣-1109. 航班预订统计

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值