三分查找

https://blog.csdn.net/pi9nc/article/details/9666627

前提:一个抛物线(趋势),求最值点。

思路:求[L,R]中点mid,再求[mid,R]中点midmid,根据题意比较两者,不断舍弃缩小。

 1 int sanfen(int l,int r){
 2    while(l<r-1){
 3     int mid=(l+r)>>1;
 4     int mmid=(mid+r)>>1;
 5     if(f(mid)>f(mmid))  //求最大值
 6         r=mmid;
 7     else 
 8         l=mid;
 9    }
10 }
原文地址:https://www.cnblogs.com/XXrll/p/11105611.html