码迷,mamicode.com
首页 > 其他好文 > 详细

【模板】三分法

时间:2019-08-27 23:20:33      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:print   get   区间   code   int   上下   代码   三分   class   

三分法

三分法一般用来求某一个单峰函数的最值。

和二分的区别

二分是要求某个问题满足单调性,只有这样才可以二分。

也就是说:二分法是适用于单调函数的,而三分法则适用于单峰函数。

实现:给定上下界,每次将上下界这个区间平均分成三份,取两个三等分点比较,并缩小范围。

代码:

    while(r-l>eps)
    {
        double midl=l+(r-l)/3.0,midr=r-(r-l)/3.0;
        if(getsum(midl)<getsum(midr))
        {
            l=midl;
        }else{
            r=midr;
        }
    }
    printf("%.5lf\n",r);

【模板】三分法

标签:print   get   区间   code   int   上下   代码   三分   class   

原文地址:https://www.cnblogs.com/2017gdgzoi44/p/11421161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!