C++ L2-3前缀和及差分(初级算法)

32 阅读1分钟

二维前缀和的题目的解题思路

  • 1.先把二维前缀和求出来
  • 2.在用公式进行求解 降低复杂度

一维前缀和

据说 最初图形识别 ,为了降低算法复杂度,就是用这种预处理的方法,把图片切割为各个小块进行识别! image.png

  • 这道题目如果只按照暴力做法,也可以做出来,for循环套for循环不断求和,时间复杂度过高O(n*n)**
  • 其实 s[i]=s[i-1]+a[i], 就可以把复杂度降为 O(n+m);**

image.png 一维前缀和还有变种,求数列的第L项到第R项之间所有数的和 s[l,r]=s[r]-s[l-1]

1.二维前缀和

image.png s[l,r]=s[r]-s[l-1]

image.png

image.png

image.png

image.png

image.png

image.png

image.png