OSDN Git Service

style: format markdown files with remark-lint
author24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Tue, 20 Nov 2018 05:31:53 +0000 (13:31 +0800)
committer24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Tue, 20 Nov 2018 05:31:53 +0000 (13:31 +0800)
docs/basic/prefix-sum.md

index e3bc262..7390550 100644 (file)
@@ -1,13 +1,14 @@
 ## 前缀和
 
-前缀和是一种较为简单的算法,可以大大减少时间复杂度。我们可以简单理解为“数列的前 n 项的和”。下面我们用一个例题来了解一下前缀和的主要思路。
+前缀和是一种较为简单的算法,可以大大减少时间复杂度。我们可以简单理解为 “数列的前 n 项的和”。下面我们用一个例题来了解一下前缀和的主要思路。
 
 !!! 例题
     有 N 个的正整数放到数组 A 里,现在要求一个新的数组 B,新数组的第 i 个数 B[i] 是原数组 A 第 0 到第 i 个数的和。
 
 对于这道题,我们有两种做法:
-- 把对数组 A 的累加依次放入数组 B 中。
-- 递推:`B[i] = B[i-1] + A[i]` ,前提 `B[0] = A[0]`。
+
+-   把对数组 A 的累加依次放入数组 B 中。
+-   递推:`B[i] = B[i-1] + A[i]` ,前提 `B[0] = A[0]`。
 
 参考程序:
 
 using namespace std;
 
 int N, A[10000], B[10000];
-int main()
-{
-    cin >> N;
-    for (int i = 0; i < N; i++)
-    {
-        cin >> A[i];
-    }
-
-    B[0] = A[0];
+int main() {
+  cin >> N;
+  for (int i = 0; i < N; i++) {
+    cin >> A[i];
+  }
 
-    for (int i = 1; i < N; i++)
-    {
-        B[i] = B[i-1] + A[i];
-    }
+  B[0] = A[0];
 
+  for (int i = 1; i < N; i++) {
+    B[i] = B[i - 1] + A[i];
+  }
 
-    for (int i = 0; i < N; i++)
-    {
-        cout << B[i] << " ";
-    }
+  for (int i = 0; i < N; i++) {
+    cout << B[i] << " ";
+  }
 
-    return 0;
+  return 0;
 }
-
 ```
 
 输入:
-```
-5
-1 2 3 4 5
-```
+
+    5
+    1 2 3 4 5
 
 输出:
-```
-1 3 6 10 15 
-```
+
+    1 3 6 10 15 
 
 首先,`B[0] = A[0];`,前缀和数组的第一项和原数组的第一项是相等的。