总结—二分答案求解问题

总结—二分答案求解问题

我们经常会犯的一个错误就是不求慎解,只觉得“会了”就轻轻放下,其实根本没有真正的搞懂这些东西。

二分,简单算法,文化课都要学的东西。

当初对它的理解就是:很方便地求“最大值最小”/“最小值最大”。

当然,这也是二分答案算法的一个标志。但是我们需要思考的是:为什么二分可以求解“最大值最小”/“最小值最大”之类的问题。

上一张网图:

二分的基本思路是什么?

对于一个答案区间,判断它的中点是否符合条件,然后根据这个来缩小可行区间,来找到最优解。所以有了上面这个图,可以看出,绿色部分都是符合条件的,但是同样的符合条件,如果往最高代价去,肯定是不合算的。所以我们用二分答案找出了满足条件范围内的最低代价。

所以,其实我们二分答案的过程就是:

判断当前答案是否符合条件:如果是,往不满足条件的区域缩小范围,以试着求最低代价。如果不是,往满足条件的区域缩小范围,试着找到可行答案。

那么,所谓“最大值最小”“最小值最大”,其实“最大值”“最小值”是条件限制。就是这个“最大值/最小值”要符合题目给出的要求。然后“最小/最大”是让我们找最低代价。

于是就可以用二分答案来进行求解。

这就是原理。

posted @ 2020-09-24 08:56  Seaway-Fu  阅读(165)  评论(2编辑  收藏  举报