凸函数的极大值
int l, r;
while(l < r) {
int lmid = l + (r - l) / 3;
int rmid = r - (r - l) / 3;
if(check(lmid) <= check(rmid)) l = lmid + 1;
else r = rmid - 1;
}
凹函数的极小值
int l, r;
while(l < r) {
int lmid = l + (r - l) / 3;
int rmid = r - (r - l) / 3;
if(check(rmid) >= check(lmid)) r = rmid - 1;
else l = lmid + 1;
}
浮点二分时将 l=lmid+1 ---> l=lmid ; r=rmid-1 ---> r=rmid