首页 > 其他 > 详细

P1077 摆花

时间:2020-01-11 16:37:05      阅读:87      评论:0      收藏:0      [点我收藏+]

链接:Miku

----------------------------------------------

 

发现大家基本上都是令

> dp[ i ] [ j ] 为用前 i 种花,摆 j 盆的总方案数


然而本蒟蒻乱搞一通,搞出来了这个东西

>dp[ i ] [ j ] 为在第i个位置摆第j种花的总方案书

这样答案就是 dp[m][1-n]的和了

-------------------------------------------

技术分享图片
 1 #include<iostream>
 2 using namespace std;
 3 int n,m;
 4 int a[1000];
 5 int dp[1000][1000];
 6 int mod=1000007;
 7 int main(){
 8     cin>>n>>m;
 9     for(int i=1;i<=n;++i)
10         cin>>a[i];
11     dp[0][0]=1;
12     for(int i=1;i<=m;++i){    
13         for(int j=1;j<=n;++j){
14                 for(int k=1;k<=a[j]&&i-k>=0;++k){
15                     for(int ii=0;ii<j;++ii){
16                         dp[i][j]+=dp[i-k][ii];
17                         dp[i][j]%=mod;
18                     }
19                 }
20             }
21         }
22     int ans=0;
23     for(int i=1;i<=n;++i)
24     {
25         ans+=dp[m][i];
26         ans%=mod;
27     }
28     cout<<ans;
29     return 0;
30 } 
Ac

P1077 摆花

原文:https://www.cnblogs.com/For-Miku/p/12180093.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!