解题思路:
注意事项:
参考代码:
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int dp[N];//dp[i][j]前i个数凑出j的大小的总方案数
//dp[i][j]=(dp[i][j]+dp[i-1][j-i])//%10000007
//完全背包可以优化成一维
int n;
int main(){
cin>>n;
dp[0]=1;
for(int i=1;i<=n;i++)
for(int j=i;j<=n;j++)
dp[j]=dp[j]+dp[j-i];
cout<<dp[n];
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:704 |
C语言训练-舍罕王的失算 (C语言代码)浏览:1054 |
校门外的树 (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:790 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:660 |
DNA (C语言描述,数据结构)浏览:909 |
1642题解浏览:784 |
1025题解浏览:796 |
矩阵乘方 (C语言代码)浏览:1079 |
字符串比较 (C语言代码)浏览:770 |