解题思路:
注意事项:
参考代码:
#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语言训练-计算1977!* (C++代码)浏览:849 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:604 |
简单的a+b (C语言代码)浏览:544 |
整除的尾数 (C语言代码)浏览:809 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:614 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:839 |
WU-C语言程序设计教程(第三版)课后习题12.3 (C++代码)浏览:847 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:382 |
1250题解浏览:555 |
蓝桥杯基础练习VIP-报时助手 (C++代码)浏览:1059 |