1
2
3
4
5
6
7
8
9
10
11
12
13
14
const double eps = <精度>(尽可能小)
bool check(<参数>){ //用于实现满足题意的条件
...
return<条件>;
}
double l = <下界>,r = <上界>, ans;
while(r-l > =eps) {
double mid = (l + r) / 2;
if (check(mid))
ans = mid, l = mid ; / r = mid ;
(找最大值) (找最小值)
else
r = mid ; / l = mid;
}