- 0
- 0
- 约6.7千字
- 约 6页
- 2026-07-24 发布于北京
- 举报
差分前缀和
一、知识点
1.前缀和算法
对于一个长为n的数串a[1],a[2],……,a[n],如果想要计算其中a[L]~a[R]的和,正常
来说应该是用for循环遍历求和。但是如果有q次询问,每次都要计算一个子串的和,那
么每次都遍历,很容易超时,此时可以使用前缀和优化.
前缀和适合解决线性数据的区间问题,具体思路如下:
用s[n]来表示前n项的和,即:
n
s[n]=a[1]+a[2]+……+a[n]a[i].
i1
s[n]这个数组存在很强的递推关系,即:
s[n]=s[n-1]+a[n]
所以预处理的时候可以依次递推计
算.实际计算时,方法如下:
RRL−1
a[i]a[i]−a[i]s[R]−s[L−1]
原创力文档

文档评论(0)