前缀和与差分

目录

1.前缀和

1.1前缀和

1.2一维前缀和求法

1.3一维前缀和的便利之处

1.4二维前缀和

1.5二维前缀和求法

1.6二维前缀和的便利之处

2.差分

2.1差分数组

2.2差分数组的应用

2.3二维差分


1.前缀和

1.1前缀和

前缀和表示一个序列的前n项和,理解为数组的话就是从下标为1到n(定义成数组时就从下标为1开始接收该序列),而差分就是前缀和的逆运算,前缀和与差分数组是对应关系。例如数组a的前缀和为数组b,则b的差分数组为数组a。

1.2一维前缀和求法

定于数组a和b,输入a之后,对于前缀和数组b可以有以下循环得到

for(int i=1;i<=n;i++)
{
  b[i]=b[i-1]+a[i];
}

1.3一维前缀和的便利之处

用于求数组a某个区间(例如n1到n2)的和,利用前缀和数组b,直接相减(b[n2]-b[n1-1])即可得到。普通的方法可能就是从n1循环到n2,将数组a的值累加,每一次不同的区间都需要循环,时间复杂度高。

1.4二维前缀和

与一维前缀和类似,一维前缀和可以用一维数组理解,同理二维前缀和可以用二维数组(也就是矩阵)理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值