동전 부문
- 열 지수 : 1,598 시간 제한 : 공간 제약 일초 : 65536k 나
- 알고리즘 지식을 설명하는 비디오
1 분, 2 분, 5 분, 10 분의 동전 4 개의 종류 센트 구성 될 수있는 번호 n은 각각 소정 센트 N (N <= 100,000)를 조합하여 동전의 무제한?
설명을 입력합니다 :
입력 정수 n. (1 <= N <= 100000)
출력 설명 :
조합의 출력 번호, 1E9 + 7 모드에 대한 대답.
예 1
기입
(13)
수출
16
인기있는 토론 : 예를 들면 : {1,2,5,10}, 다음 5 만 (12)의 할당의 유형에 완료 전체 DP 배열을 통과하지만,하지 않을 때 (12)을 통과 한 후 이송시 12 5 7과 같은 시작 시작
DP [7] 12 분 할당 스토리지의 유형, 스팬 5 5 분배 시작하기 시작하다 (7-5 = 2)를 발견 DP [2] (이 경우에는 2 1 2 위치 할당 완료)이 위치 만 다른 7 플러스 DP을 추가 할 필요가있다 [2] +1
수단 (이 유형의 2 플러스 25 (의 번호를 할당하는 2+ 백 (12) 아래에서 숫자 7을 상상할 수 공감 유형의 개수 등은 어렵지 않다 (5) = 7)이 분류).
: 증명 링크 첨부
https://www.cnblogs.com/wuxie0ne/p/11603807.html를
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #INCLUDE <. 비트 / stdc ++ H> 2 #INCLUDE <알고리즘> 3 사용 스페이스 성병; 4 CONST 긴 긴 개조 1E9 + = 7 ; 5 INT ) (주 6 { 7 긴 길이 N; 8 는 scanf ( " %의 LLD " , N); 9 긴 긴 NUM [ 4 ] = { 1 , 2 , 5 , 10 }; 10 긴 긴 DP [ 100010]; 11 memset 함수 (DP, 0 , 는 sizeof (DP)); (12) (DP)은 [ 0 ] = 1 ; 13 대 ( INT의 J = 0 ; J < 4 ; J ++ ) { 14 대 ( INT I = NUM [J] 난 <= N; 내가 ++ ) { 15 DP [I] = (DP [I] + DP [I- NUM [J]) %의 모드; 16 } 17 } 18 의 printf ( " %의 LLD " , DP [N]); 19 반환 0 ; 20 }