:warning: 二分探索(double)
(math/binary_search_double.hpp)

Code

#pragma once
#include<functional>
/**
 * @brief 二分探索(double)
 */

template<typename F>
long double bs(long double mn,long double mx,F func) {
    long double left = mn;
    long double right =mx;
    for(int i=0;i<100;i++){
        long double mid=(right+left)*0.5;
        if (!func(mid)) right = mid;
        else left = mid;
    }
    return left;
}
#line 2 "math/binary_search_double.hpp"
#include<functional>
/**
 * @brief 二分探索(double)
 */

template<typename F>
long double bs(long double mn,long double mx,F func) {
    long double left = mn;
    long double right =mx;
    for(int i=0;i<100;i++){
        long double mid=(right+left)*0.5;
        if (!func(mid)) right = mid;
        else left = mid;
    }
    return left;
}
Back to top page