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

    三分有两种写法

    两种模型分别是:先增后减,先减后增

    两种模型写法相反

    在这存下板子,怕记反了模型的写法

    先增再减模型
    #define eps 1e-8
    int sanfen(int l,int r){  //第一种写法
        int l,r;
        while(l + eps < r){
            m1 = (l+r)/2; m2 = (m1+r)/2;
            if(f(m1) >= f(m2))
                r = m2;
            else 
                l = m1;
        }
        return l;
    }
    
    int sanfen(int l,int r){  //第二种写法
        int l,r;
        while(l + eps < r){
            m1 = l+(r-l)/3;
            m2 = r-(r-l)/3;
            if(f(m1) < f(m2)) 
                l = m1;
            else 
                r = m2;
        }
        return l;
    }
    
    先减再增模型
    
    int sanfen(int l,int r){  //第一种写法
        int l,r;
        while(l + eps < r){
            m1 = (l+r)/2; m2 = (m1+r)/2;
            if(f(m1) >= f(m2))
                l = m1;
            else 
                r = m2;
        }
        return l;
    }
    
    int sanfen(int l,int r){   //第二种写法
        int l,r;
        while(l + eps < r){
            m1 = l+(r-l)/3;
            m2 = r-(r-l)/3;
            if(f(m1) < f(m2)) 
                r = m2;
            else 
                l = m1;
        }
        return l;
    }
  • 相关阅读:
    项目工作总结 (转)
    mysql-笔记 操作语句
    QTP自动化测试-excel sheet页数量过多--但是不能在qtp里被识别
    mysql-笔记 定义语句
    HDU
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/kls123/p/9438975.html
Copyright © 2011-2022 走看看