洛谷:P1077 摆花(普及/提高-,dp,背包)

题目:

在这里插入图片描述

分析:很好,想到了背包,但是初始状态错了??????状态转移是对的。

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
 int m,n;
 cin>>m>>n;
 int A[m+1];
    A[0]=0;
 for(int i=1;i<=m;i++) cin>>A[i];
 int D[n+1][m+1];
 memset(D,0,sizeof(D));
 for(int i=0,j=0;i<m+1;i++) 
 {
        D[0][i]=1;
 }
 for(int i=1;i<n+1;i++)
 for(int j=1;j<m+1;j++)
 {
  for(int k=0;k<=min(i,A[j]);k++)
  {
   D[i][j]+=D[i-k][j-1];
   D[i][j]=D[i][j]%1000007;
  }
 }
 cout<<D[n][m]%1000007;
}

猜你喜欢

转载自blog.csdn.net/weixin_42721412/article/details/107554431
今日推荐