解题思路:
注意事项:
参考代码:
#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++代码)浏览:1091 |
兰顿蚂蚁 (C++代码)浏览:1046 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:605 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:886 |
Hello, world! (C++代码)浏览:1744 |
求圆的面积 (C语言代码)浏览:1670 |
演讲大赛评分 (C语言代码)浏览:1640 |
C二级辅导-温度转换 (C语言代码)浏览:732 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:563 |
C语言训练-排序问题<1> (C语言代码)浏览:355 |