引入
COCI 2015/2016 CONTEST #7 PROSTI
一般化的形式
给出一个定义域在\([l,r]\)的连续函数f,求任意一个\(x0\),使得\(f(x0)=y\)。已知\(f(a) \geq y, f(b) \leq y\)。
我们可以采取二分的方法,首先可以知道,\(a \leq x0 \leq b\),所以我们令\(low=a, high=b\)。
又得\(mid = {(low + high) \over 2}\),那么以下条件必满足其一:
- \(f(low) \geq y0 \geq f(mid)\),等价于\(low \leq x0 \leq mid\)
- $ f(mid) \geq y0 \geq f(high)$ ,等价于\(mid \leq x0 \leq high\)
我们只要挑其中一个满足的条件继续二分下去就可以了。