키 또는 푸시 식.
부케 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 ; }