寒假打卡
1.9 江南
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1010,M=1e9+7;
int n;
int f[N][N];
int main(void)
{
scanf("%d",&n);
f[0][0]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
f[i][j]=(f[i-1][j-1]+f[i-j][j])%M;
int res=0;
for(int i=1;i<=n;i++) res+=f[n][i],res=res%M;
printf("%d\n",res);
return 0;
}
请问为啥只初始化f[0][0]=1;f不是表示所有从前i个中选体积恰好为j的方案数量吗?那从前i个物品选且体积恰好为0不应该都是只有一种方案吗