解题思路:
注意事项:
参考代码:
#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二级辅导-同因查找 (C语言代码)浏览:660 |
C语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:650 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:850 |
WU-printf基础练习2 (C++代码)浏览:2000 |
三角形 (C++代码)递推浏览:755 |
剪刀石头布 (C语言代码)浏览:748 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:349 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:1415 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:326 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:372 |