https://ac.nowcoder.com/acm/contest/3006/B
문제의 의미는 :있다 N 훈련 기지의 좌표 XI 이순신 (-10000 <= X, Y는 <= 10000)는 석도 장소 모든 교육 자료를 최소의 최대 값을 구축 X는 축. 값을 찾을 수 있습니다.
해결책 : 대답은 가까운 대답 1/3, 단일 계곡의 명확한 기능입니다.
// # 포함 <비트 / 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 개조 1,000,000,007 #DEFINE GCD __gcd #DEFINE 담당자는 (ⅰ, j는, N)에 대한 (INT 난 J를 =; I <= N; I ++) 레드 #DEFINE (I, N, j)는 대 (INT I = N; I> J =; 난 -) #DEFINE ME (X, Y)가 memset (X, Y는 sizeof (X)) // LL LCM (LL A, // LL quickpow (LL의 B, A LL) {LL ANS = 1, 반면 (b) {경우 (B & 1) ANS = ANS는 *는 %의 개조, B >> = 1, A는 *는 %의 개조를 =} 반환 ANS} 와; // INT euler1 INT (X) {INT ANS는 X = (INT 내가 = 2; 나는 * I <= X; I ++) 경우 (X % I == 0) {ans- = ANS / I; 반면 (X % I == 0) X / = 1} 경우 (x> 1) = ans- ANS / X] 복귀 ANS} // CONST INT 1E7 + N = 9; INT 힘 [N], 프라임 [N], 피 [N] INT euler2 (INT N) {ME (힘, TRUE); INT LEN = 1; 렙 (I, 2, N) {경우 (힘 [I] ) {프라임 [LEN ++] = 1, 피 [I] = I - 1}에 대한 (INT J = 1; J <LEN && 프라임 [J] * I <= N; J ++) {힘 [내가 * 프라임 [J] = 0 (I % 프라임 [J] == 0) {(φ)는 [I 프라임 [J를 *] = 피 [I] * 프라임 [J] 바꿈} 만약 그렇지 {피가 [I *를 주요한 [J] = 피 [I]는 * 피 [프라임 [J]를];}}} 리턴 LEN} #DEFINE INF 0x3f3f3f3f #DEFINE PI의 ACOS (-1) #DEFINE PII 쌍 <INT는 INT> #DEFINE 인터넷 제 #DEFINE 번째 SE는 #을 L 중간 루트를 정의 LSON << 1 #DEFINE의 rson 미드 + 1, R, 루트 << #DEFINE MP make_pair #DEFINE CIN (X)는 scanf ( "%의 LLD ', X); 네임 스페이스를 사용하여 표준; CONST INT 1E7 + N = 9; CONST INT maxn 1E5 + = 9; CONST 이중 ESP = 1E-6; PII A [maxn]; INT N; 이중 CAL (두 배) { 이중 ANS = -INF; 렙 (I, 1, N) { ANS = 최대 (ANS, SQRT ((a [i]를 .fi-X) * (a [i]를 .fi-X) + A [i]를 .se * A [i]를 .se)); } ANS를 반환; } {) (해결 무효화 CIN >> N; 렙 (I, 1, N) { CIN >> A [i]를 .fi >> A [i]를 .se; } 이중 L = -1e4, R = 1E4; 반면 (R - L> = ESP) { 이중의 rmid = R - (R - 1) / 3 LMID = L + (R - 1) / 3; 경우 (CAL (rmid의)> = CAL (LMID)) { R = rmid를; 사용한다} else { L = LMID; } } 의 printf ( "% 4lf \ n.", CAL (R)); } 서명 주 () { IOS :: sync_with_stdio (거짓); //cin.tie(0); cout.tie (0); // INT t; // CIN (t); // (t는 -) {동안 해결 (); //} }