매일 질문 day8 펀치
분석
이산 배낭 +
이것은 우리가 경쟁 T2, 폭력의 내 전체 TLE의 결과를 시뮬레이션 할 문제이다.
키 배열 개별 요소의 두 요소의 제품은 제품 자체 같다 후 + = ANS에 의해 이산화 된 후, 표에서 [J] *를 나타내는 경우 [J]를 계산
그럼 당신은 할 수 행복하게 친구 DP ~ ~ ~
1 #INCLUDE <iostream> 2 #INCLUDE <cstdio> 3 #INCLUDE <CString을> 4 #INCLUDE <알고리즘> 5 #DEFINE의 maxn 1,000 + 10 6 #DEFINE의 개조 1,000,000,007 7 이용한 스페이스 성병; 8 인라인 INT의 판독 () 9 { 10 INT (X) = 0 ; 11 부울 F = 1 ; 12 문자 C = getchar가 (); 13 대 (! isdigit에 (c) C = getchar가 ()) 경우, (c == ' -' F) = 0 ; 14 대 (; isdigit에 (c) C = getchar가 ()) = X (X << 3 ) + (X << 1 ) + C - ' 0 ' ; 15 의 경우 (F) 리턴 X; 16 창 0 - X; 17 } 18 인라인 빈 기록 ( INT X) 19 { 20 의 경우 (X < 0 ) {putchar ( ' - ' ) = X - X} 21 의 경우 (x> 9 ) 기록 (X / 10 ); 22 putchar (X의 % 10 + ' 0 ' ); 23 } 24 INT의 T; 25 INT의 N, K, CNT; 26 INT A [maxn, BF [maxn 같이, [maxn] ans와; 27 INT 의 main () 28 { 29 T = 판독 (); 30 일 동안 (T-- ) 31 { 32 memset 함수 (ANS, 0 , 는 sizeof (ANS)); 33 memset 함수 (a, 0 , 는 sizeof (a)); 34 CNT = 0; (35) N = 판독 (); K = 리드 (); (36) 에 대한이 ( int로 I = 1 ; 나는 = K를 <*; 내가 ++ ) (37) 의 경우 는 (i == 유전율 %를 0 ) 38 { 39 경우 는 (i * I == K) 40 { 41 A [++ CNT = I ; (42) 계속 ; 43 } 44 A [++ CNT = I; 45 A [++ CNT = K / I; 46 } 47 정렬 (a + 1하는 CNT + + 1 ); 48 [ANS 1 ] = 1 ; (49) 에 대한이 ( int로 I = 1 난 ++; i가 N = < ) 50 { 51 INT 에서 =가 ) (판독; 52 의 경우 (케이 % 에서 ! = 0 ) 계속 ; 53 대 ( INT에서 , J> = CNT J = 1 ; j-- ) 54 { 55 INT의 LS LOWER_BOUND = (A + 1 , A + CNT + 1 , A [J] * 의) - a 및 56 의 경우 (a [LS]은 [J] == * 에서 ) 57 { 58 년 [LS] + 년 [J]을; (59) 년 [LS] = % 개조; 60 } 61 } 62 } 63 의 printf ( " % D \ 없음 " , 년 [CNT]); 64 } 65 반환 0 ; 66 }
갱스터의 논문을주세요(어쨌든, 나는이 논문을 무엇을 의미하는지 모른다)