문제 보고서에 CH122 사탕 전송 솔루션

주제 포털

[제목] 효과

이 원에 앉아 $ $ n 번째 아이, $ I $ $ A_I 중 하나 $ 키즈 캔디, 사탕 각각의 자녀가 좌우 아이들에게 전송 될 수있는 물리적 장치를 보낼 수있는 각 패스 별 사탕 추구 최소 소비 많은 체력이 사탕의 마지막 수를 만들 수있는 방법 각 아동이 동일있다.

[분석] 아이디어

첫째, 각 어린이 마지막 계산 된 평균 사탕 $ s에서의 $를 가지고 $ x_i로부터는 $ $ I $는 $ $ 처음 $에 아이의 자식을 나타내는 아이들에게 사탕 수, $ X_1의 $ I-1을 나타낸다 제공 어린이의 $ 사탕 번호, $ x_i로부터는 <0 $는 $ I-1 $ 아이의 I $ $ 아이들에게 사탕을 나타내는 경우. 그래서 우리는 다음과 같은 결론을 그릴 수 있습니다 :

$$ A_1-X_1 X_2 + S = \ RIGHTARROW X_2 = S-A_1 X_1 + = X_1-한 c_1 (= c_1과 A_1-S) $$

$$ A_1-X_2 X_3 + S = \ RIGHTARROW X_3 = 2S-A_1-A_2 + = X_1 X_1 C_2 - (C_2 = 2S-A_1-A_2) $$

$$ ... $$

$$ a_n-X_n X_1 + S = \ RIGHTARROW X_1 = X_1-C_ {N-1} (C_ {N-1} = (N-1) * S-a_1- ... -a_ {N-1}) $$

X_1 | | + ... + | X_n | $는 = ans와 있기 때문에 x_i로부터 | | $를, 그래서 우리는 $ 확인해야 $ 최소 금액을 그

$$ | X_1 | + | C_1 - X_1 | + ... + | X_1-C_ {N-1} | (분) $$

완성 후의 전체 수식 만 $ $ 변수 X_1이 방정식 세트의 의미는, 수직선 점 $ $으로의 X_1를 찾는되도록 $ 0 한 c_1, ... C_ {N-1} $ 이에 포인트 이 조건을 충족하는 N- $ $ 최소 점의 거리의 합, 그리고 이러한 값의 중간 지점입니다.

[] 코드 구현

1 #INCLUDE <cstdio>
 2 #INCLUDE <iostream>
 3 #INCLUDE <CString을>
 4 #INCLUDE <알고리즘>
 5 #INCLUDE <cmath>
 6  #DEFINE g () getchar가 ()
 7  #DEFINE RG 레지스터
 8  #DEFINE의 이동 (I A는, b) (RG의 인터넷 용 난 =; 나는 <= B를 단계; 내가 ++)
 9  #DEFINE 백 (나는 A는 b) (RG의 인터넷 용 난 =; I> = B, 난 -)
 10  # 정의 DB 이중
 11  #DEFINE 줄게 긴 길이
 12  #DEFINE의 IL 인라인
 13  #DEFINE PF printf의
 14  이용한  스페이스 성병;
(15) INT의 FR () {
 16      INT w = 0 , Q = 1 ;
17       CH = g ();
18 일      동안 (CH2 < ' 0 ' || CH> ' 9 ' ) {
 19 일          경우 (CH2 == ' - ' ) Q = - 1 ;
20          CH = g ();
21      }
 22      동안 (CH2> = ' 0 ' && CH <=에서 ' 9 ' ) = w (w << 1 ) + (w <<0 ' , CH = g ()를;
23       * w의 Q;
24  }
 25  CONST의  INT의 N = 1,000,002 ;
26  INT의 N, A [N], 3 [N];
27  LL 합, ANS;
28  INT 의 main () {
 29      , N =의 FR ();
30      이동 (I, 1 , n)은 [I]의 FR = (), 합계 + = A [I];
31      INT S = 합 / N;
32      이동 (I, 2 , N) C [I] = (C)의 [I- 1 ] + A [I] - (S);
33      정렬 (c + 1 , C + 1 +엔);
34      INT 중반의 C = [N / 2 + 1 ];
35      이동 (I, 1 , N) ANS + = 절대치 (C [I] - MID);
36      PF ( " % LLD \ 없음 " , ANS);
37      반환  0 ;
38 }
코드는 여기 찌를

추천

출처www.cnblogs.com/THWZF/p/11272994.html