问题标题: 酷町堂:1801 换小额钞票

0
0

0
已采纳
周zhouhaoran
周zhouhaoran
初级光能
初级光能

用单重循环,一个值减去另一个值,存下来

核心:

for(int i=0; i<=n/50; i++) {

    ans+=(n-i*50)/20+1;

}

0
0
0
汪恺恒
汪恺恒
中级启示者
中级启示者

//我的比较复杂

完全背包求方案总数

定义

int a[3]={10,20,50};//每一种钱数
int n;
long long f[1000005]; 

边界

f[0]=1;

状态转移

循环(i:0至3){
        循环(int j=a[i];j<=n*100;j++){
            f[j]=f[j]+f[j-a[i]];
        }
    }

输出f[n*100]

我要回答