Unverified Commit 6733a349 authored by ir1d's avatar ir1d Committed by GitHub
Browse files

Merge pull request #453 from 24OI/i-Yirannn-patch-2

Update binary.md
parents a8606e82 699c11b2
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -41,6 +41,14 @@ int binary_search(int start, int end, int key) {

二分法把一个寻找极值的问题转化成一个判定的问题(用二分搜索来找这个极值)。类比枚举法,我们当时是枚举答案的可能情况,现在由于单调性,我们不再需要一个个枚举,利用二分的思路,就可以用更优的方法解决「最大值最小」、「最小值最大」。这种解法也成为是「二分答案」,常见于解题报告中。

### STL 的二分查找

补充一个小知识点, 对于一个有序的 array 你可以使用 `std::lower_bound()` 来找到第一个大于等于你的值的数, `std::upper_bound()` 来找到第一个大于你的值的数

请注意,必须是有序数组,否则答案是错误的。

关于具体使用方法,请参见 STL 页面(施工中)。

## 三分法

```c++