コイン部門
- 不快指数:1598 時間制限:スペースの制約に1秒:65536kも
- アルゴリズムの知識を説明するためのビデオ
番号との組み合わせで1分、2分、5分、コインの10分四種類、無制限の各所与セントのコインの数N(N <= 100000)、Nはセントを構成することができますか?
説明を入力します。
入力整数n(1 <= N <= 100000)
出力説明:
組み合わせの出力数、1E9 + 7のmodへの答え。
例1
エントリー
13
輸出
16
人気のトーク:例えば:{1,2,5,10}、次いで5はわずか12の割り当てのタイプに完了した全体DPアレイを横断するのではなく、場合12を通過した後図5は、12横断するとき、そのような7のように、起動を開始
DPを[7] 12分に割り当てられた記憶装置の一種である、5スパン(7-5 = 2)のDPを発見した分配を開始するために開始[2](この場合、2 1 2位置が割り当てを完了した)この位置がのみ別7のプラスのDPを追加する必要がある[2] +1
手段(これはタイプ2プラス25(の数を割り当てることである2+共感の種類の数である5 = 7)この分類は)12の下にバックナンバー7を想像することができ、そしてそれは困難ではありません。
:証明リンクアタッチ
https://www.cnblogs.com/wuxie0ne/p/11603807.htmlを
1つの#include <ビット/ STDC ++ H> 2の#include <アルゴリズム> 3 使用して 名前空間STDを、 4 CONST 長い 長 MOD = 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]は、iが<= N; iは++ ){ 15 、DP [I] =(DP [I] + DP [1- NUM [J])%MOD。 16 } 17 } 18 のprintf(" %のLLD " 、DP [N])。 19 リターン 0 ; 20 }