第三の(最大値の最小化)

https://ac.nowcoder.com/acm/contest/3006/B

問題の意味:訓練基地座標XI、Shidao会場すべてのトレーニングベースの最小の最大値を構築するためのYI(-10000 <= X、Y <= 10000)、x軸は、nがあります。値を検索します。

解決策:答えは、三分の一の答えに近い単一の谷のクリア機能です。

//#含める<ビット/ STDC ++。H> 
の#include <cstdioを> 
する#include <CStringの> 
する#include <cmath> 
の#include <アルゴリズム> 
の#include <iostreamの> 
する#include <ストリング> 
する#include <stdio.hに> 
の#include <キュー> 
の#include <スタック> 
の#include <マップ> 
書式#include <設定> 
書式#include <string.hの> 
の#include <ベクトル> 
typedefの長い長いLL。
#define INT LL 
の#define MOD 1000000007 
の#define GCD __gcd 
の#define REPは(i、jは、N)のための(INT iがjは=; I <= N; I ++)
赤の#define(I、N、j)のための(INT I = N; I> = J; i--)
の#define ME(x、y)はmemsetの(X、Y、はsizeof(x))を 
// LL LCM(LL、
一方、(B){IF(B&1)ANS = ANS *%のMOD; //は(-1,11,11- B){LL ANS = 1をquickpowちゃうB >> = 1、A = A *%のMOD;}リターンANS;} 
// INT euler1(INT X){int型ANS = X;(; iは<= X *; INT iは2 = I ++)のためのIF(X%I == 0){ans- = ANS / I。一方、(X%I == 0)は、x / = I;}もし(X> 1)ans- = ANS / X;戻りANS;} 
// CONST INT N = 1E7 + 9。INT VIS [n]は、素数[n]は、PHI [N]; int型euler2(INT N){ME(VIS、TRUE); INT LEN = 1;担当者(I、2、N){IF(VIS [I] ){プライム[LEN ++] = I、PHI [i]は= I-1;}の(INT J = 1; J <LEN &&プライム[J] * I <= nであり、j ++){VIS [i *が素数[J] = 0;(I%プライム[j] == 0){;ブレーク; PHI [I *プライム[J] = PHI [I] *プライム[J]}もしそうでなければ{PHI [iが素数[Jを*]] = PHI [I] * PHI [プライム[J]];}}}戻りLEN} 
の#define INF 0x3f3f3f3f 
の#define PI ACOS(-1)
の#define PII対<整数、整数> 
の#define Fiの第一
の#define SE第二
# L、中間ルートをLSON定義<< 1つ
の#define rsonミッド+ 1、R、根<<
#define MP make_pair 
の#define CIN(X)のscanf( "%のLLD"、&x)は、
名前空間stdを使用。
CONST INT N = 1E7 + 9。
const int型MAXN = 1E5 + 9。
CONSTダブルESP = 1E-6。
PII [MAXN]。
int型のn; 

ダブルCAL(ダブルX){ 
    ダブルANS = -INF。
    担当者(I、1、N){ 
        ANS = MAX(ANS、SQRT(([I] .fi-X)*([I] .fi-x)+ [I] .SE * [I] .SE)); 
    } 
    ANSを返します。
} 

ボイドは(){解決
    CINを>> N。
    担当者(I、1、N){ 
        CIN >> [I] .fi >> [I] .SE。
    } 
    ダブルL = -1e4、R = 1E4。
    一方、(R - L> = ESP){ 
        ダブルRMID = R - (R - L)/ 3、LMID = L +(R - L)/ 3。
        IF(CAL(RMID)> = CAL(LMID)){ 
            R = RMID。
        }他{ 
            L = LMID。
        } 
    } 
    のprintf( "%4lf \ n"、CAL(登録商標)); 
} 

署名されたメイン()
{ 
    IOS :: sync_with_stdio(偽)。
    //cin.tie(0); cout.tie(0)。
    // int型トン。
    // CIN(T); 
    //一方、(T - ){ 
        )(解きます。
    //} 
}

 

おすすめ

転載: www.cnblogs.com/nonames/p/12466859.html