OSDN Git Service

style: format markdown files with remark-lint
author24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Sun, 27 Sep 2020 13:57:29 +0000 (09:57 -0400)
committer24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Sun, 27 Sep 2020 13:57:29 +0000 (09:57 -0400)
docs/basic/binary.md

index c3538f0..2dbe00a 100644 (file)
 
 #### 时间复杂度
 
-二分查找的最优时间复杂度为$O(1)$
+二分查找的最优时间复杂度为 $O(1)$ 
 
-二分查找的平均时间复杂度和最坏时间复杂度均为$O(\log n)$。因为在二分搜索过程中,算法每次都把查询的区间减半,所以对于一个长度为 $n$ 的数组,至多会进行 $O(\log n)$ 次查找。
+二分查找的平均时间复杂度和最坏时间复杂度均为 $O(\log n)$ 。因为在二分搜索过程中,算法每次都把查询的区间减半,所以对于一个长度为 $n$ 的数组,至多会进行 $O(\log n)$ 次查找。
 
 #### 空间复杂度
 
-迭代版本的二分查找的空间复杂度为$O(1)$
+迭代版本的二分查找的空间复杂度为 $O(1)$ 
 
-递归(无尾调用消除)版本的二分查找的空间复杂度为$O(\log n)$
+递归(无尾调用消除)版本的二分查找的空间复杂度为 $O(\log n)$ 
 
 ### 代码实现
 
@@ -64,7 +64,7 @@ int binary_search(int start, int end, int key) {
 
 ### STL 的二分查找
 
-C++ 标准库中实现了查找首个不小于给定值的元素的函数 [`std::lower_bound`](https://zh.cppreference.com/w/cpp/algorithm/lower_bound)和查找首个大于给定值的元素的函数 [`std::upper_bound`](https://zh.cppreference.com/w/cpp/algorithm/upper_bound),二者均定义于头文件 `<algorithm>` 中。
+C++ 标准库中实现了查找首个不小于给定值的元素的函数 [ `std::lower_bound` ](https://zh.cppreference.com/w/cpp/algorithm/lower_bound) 和查找首个大于给定值的元素的函数 [ `std::upper_bound` ](https://zh.cppreference.com/w/cpp/algorithm/upper_bound) ,二者均定义于头文件 `<algorithm>` 中。
 
 二者均采用二分实现,所以调用前必须保证元素有序。
 
@@ -73,7 +73,7 @@ C++ 标准库中实现了查找首个不小于给定值的元素的函数 [`std:
 解题的时候往往会考虑枚举答案然后检验枚举的值是否正确。若满足单调性,则满足使用二分法的条件。把这里的枚举换成二分,就变成了“二分答案”。
 
 ???+note "[Luogu P1873 砍树](https://www.luogu.com.cn/problem/P1873)"
-    伐木工人米尔科需要砍倒M米长的木材。这是一个对米尔科来说很容易的工作,因为他有一个漂亮的新伐木机,可以像野火一样砍倒森林。不过,米尔科只被允许砍倒单行树木。
+    伐木工人米尔科需要砍倒 M 米长的木材。这是一个对米尔科来说很容易的工作,因为他有一个漂亮的新伐木机,可以像野火一样砍倒森林。不过,米尔科只被允许砍倒单行树木。
 
     米尔科的伐木机工作过程如下:米尔科设置一个高度参数H(米),伐木机升起一个巨大的锯片到高度H,并锯掉所有的树比H高的部分(当然,树木不高于H米的部分保持不变)。米尔科就行到树木被锯下的部分。
 
@@ -158,7 +158,7 @@ else
 
 ## 分数规划
 
-参见:[分数规划](../misc/frac-programming.md) 
+参见: [分数规划](../misc/frac-programming.md) 
 
 分数规划通常描述为下列问题:每个物品有两个属性 $c_i$ , $d_i$ ,要求通过某种方式选出若干个,使得 $\frac{\sum{c_i}}{\sum{d_i}}$ 最大或最小。