目录
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二维前缀和
与一维前缀和类似,一维前缀和可以用一维数组理解,同理二维前缀和可以用二维数组(也就是矩阵)理