函数求解与二分答案

引入

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\)

我们只要挑其中一个满足的条件继续二分下去就可以了。

转载于:https://www.cnblogs.com/wangck/p/5384604.html

你可能感兴趣的:(函数求解与二分答案)