题目
把 拆分成若干个正整数相加的形式,正整数可以重复,问方案数
分析
完全背包,
状态转移方程:
and
代码
#include <cstdio>
unsigned int n,f[4001];
int main(){
scanf("%d",&n); f[0]=1;
for (int i=1;i<=n;i++)
for (int j=i;j<=n;j++)
f[j]=(f[j]+f[j-i])&0x7fffffff;//完全背包
return !printf("%d",f[n]-1);
}