Unverified Commit 01d117ec authored by ir1d's avatar ir1d Committed by GitHub
Browse files

Merge pull request #1221 from ChungZH/patch-2

Update prefix-sum.md
parents 91db1459 cc205c30
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
## 前缀和

前缀和是一种较为简单的算法,可以大大减少时间复杂度。我们可以简单理解为“数列的前 n 项的和”。下面我们用一个例题来了解一下前缀和的主要思路。
前缀和是一种重要的预处理,能大大降低查询的时间复杂度。我们可以简单理解为“数列的前 n 项的和”。

!!! 例题
    有 N 个的正整数放到数组 A 里,现在要求一个新的数组 B,新数组的第 i 个数 B[i] 是原数组 A 第 0 到第 i 个数的和。
@@ -49,11 +49,13 @@ int main() {

首先, `B[0] = A[0];` ,前缀和数组的第一项和原数组的第一项是相等的。

 `B[i] = B[i-1] + A[i]` 相信大家也能理解这个式子。意思就是:前缀和数组的第 i 项等于数组 A 的 0 到 i-1 项的和加数组 A 的第 i 项。
 `B[i] = B[i-1] + A[i]` 意思就是:前缀和数组的第 i 项 = 原数组的 0 到 i-1 项的和 + 原数组的第 i 项。

### 习题

-   [洛谷 U53525 前缀和(例题)](https://www.luogu.org/problemnew/show/U53525)
-   [洛谷 U69096 前缀和的逆](https://www.luogu.org/problemnew/show/U69096)
-   [AT2412 最大の和](https://www.luogu.org/problemnew/show/AT2412)

### 参考