三分查找

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 }

 

posted @ 2019-06-29 08:47  XXrl  阅读(98)  评论(0编辑  收藏  举报