25 시험 시뮬레이션 요약

T1 [A. 문자열] [어]

아니, 오! ! 다시 한번 Cartland의 수는 다시 한 번 전복, 또는 표시되지? ? ! !

이것은 단지 DP 제목 나올하기로 결정, 그래서 방법이 수학을 생각하지 않았다 할 수있다

말을하지 마십시오 40 % DP 2 시간을 썼다

 

T2 [B. 크로우 마시는]

문제를 생각하는 좋은

첫째, 각 실린더는 몇 번 한 다음 Ascending 정렬 방법을 마실까지 주문할 수 있습니다

충분한 앞에 매우 분명 자연은 다시 충분한 다음, 삭제

열거 앞의 숫자는 각각의 실린더를 다시 상기 실린더는 삭제와 후방 실린더의 나머지 수를 비교

그렇다면, 인계 후, 즉이 발사 수가 수행되었다된다는 레이어의 수를 줄일 수 있다는 응답의 실린더의 기부에 해당

실린더의 수는 현재의 값보다 더 고해상도의 ID 전에 삭제 될 수없는 경우 즉,이 탱크 ANS 기여하는 보이지이 라운드에서이지만 수 없거나 +1

이 개 특별 선고 참고

1 #INCLUDE <iostream>
 2 #INCLUDE <cstdio>
 3 #INCLUDE <cmath>
 4 #INCLUDE <벡터>
 5 #INCLUDE <cstdlib>
 6 #INCLUDE <CString을>
 7 #INCLUDE <알고리즘>
 8  #DEFINE의 R 레지스터
 9  #DEFINE INT 오래 오래
 (10)  사용하여  네임 스페이스 표준을;
11  CONST의  INT의 maxn = 100005 ;
12  INT의 N, M, K, A [maxn], w [maxn, ANS;
13 인라인 INT의 판독 ()
 14  {    
 15      INT (X) =0 ;  CH = getchar가 ();
16 일      동안 (CH2> ' 9 ' || CH < ' 0 ' ) CH = getchar가 ();
17 일      동안 (CH2 <= ' 9 ' && CH> = ' 0 ' ) {(X) = (X << 3 ) + (X << 1 ) + (CH ^ 48 ) CH = getchar가 ();}
 18      리턴 X;
19  }
 20  구조체 노드 {
 21      INT의 ID, 입술, DET;
22  } maxn] B;
23  부울CMP (노드 X, 노드 Y) { 복귀 x.res < y.res}
 24  INT t [maxn]; // 还有多少活着
25 인라인 INT 요청 ( INT X)
 26  {
 27      INT의 RET = 0 ;
28       (; X, X - = (X는 - (X)))
 29          RET + = t [X];
30      리턴 RET;
31  }
 32 인라인 공극 추가 ( INT (X), INT w)
 33  {
 34       (; X <= N] + = X (X는 - (X)))
35          → [X] + = w;
36  }
 37  ) (메인 체결
 38  {
 39      // freopen을 ( "데이터", "R", 표준 입력); 
(40)      N = 판독 (), m = 판독 (), K = 판독 ();
(41)      에 대한이 ( int로 I = 1 ; i가 <= N; ++ I)
 42          B [I] = K-.RES 판독) (b [I] .ID = I;
(43)      에 대한이 ( int로 I = 1 ; i가 <= N; ++ I)
 44 개          (B)는 [I] = .det가 판독 ();
(45)      에 대한이 ( 값 int = 1을 1 ; 나는 = <N; ++ I)
 46         B [i]를 .RES가 = (b의 [I] .RES) / B [I] .det + 1 ;
47      정렬 (B + 1 , B + N + 1 , CMP);
48      INT ANS = 0 ;
(49)      에 대한이 ( int로 I = 1 ; i가 <= N; ++ I)
 (50)          추가 (I, 1 );
(51)      에 대한이 ( 값 int = 1을 1 ; 나는 = <N; ++ I)
 52      {
 53          INT 라스 = 된 ANS;
54          INT res_num = N-I + 1 ;
55          B [I] = .res- ANS;
(56)         경우 (B는 [I]가 <.RES을 0 ) {
 (57)가              (B [I]를 .ID - 추가 . 1 )
 (58)는              계속해서 ,
 59          } // 주의 분석 <0 
60          ANS = B + [I] .RES / res_num ,
 61은          B [I] = % .RES res_num;
 62          INT BEF = ASK (B [I] .ID)
 (63)는          IF (BEF <= B [I] .RES)
 64              ANS ++ ;
 65          IF (ANS> 라스 +의 m ) ANS = m + 라스; // A 최소 소요 
66          (B [I]를 추가 .ID - 1이다. )
 (67)  
(68)      }
69      의 printf ( " % LLD \ 없음 " , ANS);
70 }
코드보기

 

T3 [C. 낙타 문 왕의 보물]

원래 제목은 , 약간의 메스꺼움 맵을 구축하는 것입니다

 

추천

출처www.cnblogs.com/casun547/p/11373400.html