51nod 1101 換零錢 (0 1揹包,DP)

2021-07-06 07:14:30 字數 797 閱讀 4940

1101 換零錢

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 

難度:3級演算法題

n元錢換為零錢,有多少不同的換法?幣值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。

例如:5分錢換為零錢,有以下4種換法:

1、5個1分

2、1個2分3個1分

3、2個2分1個1分

4、1個5分

(由於結果可能會很大,輸出mod 10^9 + 7的結果)

input

輸入1個數n,n = 100表示1元錢。(1 <= n <= 100000)
output

輸出mod 10^9 + 7的結果
input示例

5
output示例

4
dp[i][j]表示前i個物品選入(或不選入)達到j這個要求的方案數

dp[i][j]=dp[i][j-1]+dp[i-a[i]][j];;;;;狀態轉移方程

#include#includeusing namespace std;

const int maxn=100000+100;

const int mod=1e9+7;

int a[maxn],dp[maxn];

int main()

; int n,i,j;

cin>>n;

dp[0]=1;

for(j=0;j<13;j++)

cout<

51nod 1101換零錢(揹包)

n元錢換為零錢,有多少不同的換法?幣值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。例如 5分錢換為零錢,有以下4種換法 1 5個1分 2 1個2分3個1分 3 2個2分1個1分 4 1個5分 由於結果可能會很大,輸出mod 10 9 7的結果 input 輸入1個數n,n...

51nod 1101 換零錢 完全揹包

n元錢換為零錢,有多少不同的換法?幣值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。例如 5分錢換為零錢,有以下4種換法 1 5個1分 2 1個2分3個1分 3 2個2分1個1分 4 1個5分 由於結果可能會很大,輸出mod 10 9 7的結果 完全揹包,統計個數問題。就是...

51nod 1101 換零錢(完全揹包,經典dp)

n元錢換為零錢,有多少不同的換法?幣值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。例如 5分錢換為零錢,有以下4種換法 1 5個1分 2 1個2分3個1分 3 2個2分1個1分 4 1個5分 由於結果可能會很大,輸出mod 10 9 7的結果 收起輸入1個數n,n 100...