三分法——凸函数求极值问题

时间:2021-10-06 19:06:41
</pre><pre name="code" class="cpp">double Calc(Type a)
{
    /* 根据题目的意思计算 */
}
void Solve(void)
{
    double Left, Right;
    double mid, midmid;
    double mid_value, midmid_value;
    Left = MIN; Right = MAX;
    while (Left + EPS < Right)
    {
        mid = (Left + Right) / 2;
        midmid = (mid + Right) / 2;
        mid_area = Calc(mid);
        midmid_area = Calc(midmid);
        // 假设求解最大极值.
        if (mid_area >= midmid_area) Right = midmid;
        else Left = mid;
    }
}
首先,模板转自,   http://www.cnblogs.com/newpanderking/archive/2011/08/25/2153777.html  ,需要的请参考这个大神的,%%%%

第一次听三分法感觉很神奇,回来百度一下模板,主要解决二分法无法解决的凸函数找极值的问题,水几个简单题再来填坑。