zoukankan      html  css  js  c++  java
  • 三分算法

    综合于大牛们的总结:

    三分算法解决凸形或者凹形函数的极值;

    二分解决具有单调性的函数的极值;

    mid = (Left + Right) / 2

    midmid = (mid + Right) / 2;

    如果mid靠近极值点,则Right = midmid

    否则(midmid靠近极值点),则Left = mid;

     

    程序模版如下:

    double cal(Type a)
    {
        /* 根据题目的意思计算 */
    }

    void solve()
    {
        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;
            if (cal(mid)>=cal(midmid)) 

                Right = midmid;
            else Left = mid;
        }
    }

    我搜索的三分算法的题目:HDU :3400  2298  4454  2438  3756  

                                     POJ:  3301   3737  

                                     ZOJ: 3203

    利用有限的时间想把它们都ac掉,切了2道题目感觉三分题目对我来说挺难得,但是木有事,继续加油...每一道题都要把解题报告写好。

  • 相关阅读:
    hdp (ambari) 集成hue
    Hive的metastore
    windows 常用cmd命令
    HDFS datanode心跳与运维中的实际案例
    scala drools and map
    hadoop nn 运维一例
    Eclipse 多行注释选择
    JSP SERVLET 基础知识
    记录一次代码错误,elastic search的INDEX需要使用小写字母
    HIVE大数据出现倾斜怎么办
  • 原文地址:https://www.cnblogs.com/Hilda/p/2939708.html
Copyright © 2011-2022 走看看