# 190 라운드 Codeforces (사업부. 2) B. 시엘과 꽃

키 또는 푸시 식.

부케 X, F (X, Y) = (YX) / 3]의 응답이 F이다 (X) = F (X, R) + F (X, g) + F (X, B의 혼합 수를 설정하려면 [] 내림 나타냄), 추측 F (X)는 단순하다.

이 방정식 F (X + 1) 푸시 - F (X) = 1 + F (X + 1, R) - F (X, R) + F (X + 1, g) - F (X, g) + F (X + 1, b) -F (X, b).

F (X + 1, R) - F (X, R) 분석 :하자 S = [(YX-1) / (3)] - [(YX) / 3]를 문제가 분명히 설명 분류 라운딩의 함수이며 :

I. (YX) 후 % 3 = 0, S = -1, II. 그렇지 S = 0. 세트에 표시 T = {R, G, B}, 모든 T 및 (TX) % 3! = 0에서 t에 속하는 경우에는, 다음 F (X + 1) -f (X) = 1, 그렇지 않으면 F (X +1) -f (X) <= 0.

이 때, 여전히 F (x)의 단조로운 경우 설명 할 수 없다. 우리 원소 T는 3 %, 이른바 모듈 T '= {R', G ', B'}의 새로운 세트를 획득하기 위해, 간격 [0,2]의 모든 요소의 T '값.

I는 F (X + 1) -f (x)가 = 1, X가되도록 '= X % 3, 모든 t'는 T에 속하는 ', X가 있어야'인 경우, 본! = T '를, 만일 F ( x)가 단조 비 감소, 모든 X에 대해, 우리는 한 f를 (X + 1) -f (X)> = 0,

F (X) = 1 다음, - T '는 상수이고, X'= X % 3 항상 [0,2] 간격 내, 같은 경우와 같이 F (X + 1)이 있기 때문에, 불가능 |을 T-X '| (|| 본원 세트의 크기를 말한다) 우리가 2 같아야

이 세트에 '을 T-X 매핑'R ', G', B는 X + 1 개 이상의 동일한 요소에가, 그 값을 발견 할 수 있으며, (X + 2 (F)이 있어야 X + 2) - F (X + 1)> = -1 또는 F (X + 3) - F (X + 2)> = -1,

(x)의 함수와 동일한지도 요소의 두 지점이 존재하는 경우, F (x)의 함수 실제로 [Y, Y + 1] 방황 간격 매핑 포인트 3이면 F 실제로 따라서 [Y, Y + 2] 방황 간격

우리는 X <= 분 양지 수 X에 대한 세 개의 연속 번호가 필요 (R, G, B)를.

#DEFINE _CRT_SECURE_NO_WARNINGS 
#INCLUDE <iostream> 
#INCLUDE <cstdio> 
#INCLUDE <알고리즘> 
#INCLUDE <cmath> 
#INCLUDE <큐> 
#INCLUDE <CString을> 
#INCLUDE < 문자열 > 
#INCLUDE <비트 세트> 
#INCLUDE <적층> 
#INCLUDE < 설정 > 
#INCLUDE <지도> 
#INCLUDE <일람> 
#INCLUDE <assert.h를>
 사용  스페이스 성병;
#DEFINE 전자 EXP (1. #DEFINE MAXN 100005
 #DEFINE 개조 998,244,353
 #DEFINE의 0x3f3f3f3f3f3f3f INF
 #DEFINE 대한 FE (I, ST, EN) (I = (일) = 난 (EN) "; I ++)
 #DEFINE의 FNE (I 세인트을 EN ) (I = (성);는 내가 <(EN) ++ I)
 #DEFINE RI 등록 INT
 #DEFINE DB 이중
 INT 의 main () {
     INT의 R, G, B;
    CIN >> >> R g >> B;
    INT의 리 = 분 (R, 분 (g, b)), ANS = 0 ;
    위한 ( int로 I = 0 ; i가 = 분 (< 2 ), 리; ++ I) ANS = 최대 (ANS (R - I) / 3 + (g - 전) / (3) + (B - 전) / (3) + I);
    COUT << ANS << ENDL;
    반환  0 ;
}

 

추천

출처www.cnblogs.com/zhuiyicc/p/10926695.html