C++ 前缀和算法

目录:

基本知识

一维前缀和

二维前缀和


基本知识:

        前缀和不一定是和,也可以是前缀积··· ···

        前缀和是一种预处理算法,能大大降低时间复杂度。 

        前缀和的操作对象主要是数组。

        前缀和主要是计算之前数组元素的值之和。在解决区域问题时,可以减少遍历操作,减少时间复杂度。

一维前缀和:

        记原数组为a[n],前缀和数组为b[n]。那么b[i]内存储的内容为a[1]~a[i-1]的和。

        即b[1]=a[1],b[2]=a[1]+a[2],b[3]=a[1]+a[2]+a[3],…  或是b[1]=b[0]+a[1],b[2]=b[1]+a[2],…(数组下标从1开始)。

        公式:b[i]=a[1]+a[2]+…+a[i] (或b[i]=b[i-1]+a[i])

a 1 2 3

你可能感兴趣的:(c++,算法)