zoukankan      html  css  js  c++  java
  • P1077 摆花

    链接: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
  • 相关阅读:
    《将博客搬至CSDN》
    所谓找链表中点
    虚函数
    编辑距离
    数组移位
    DFA
    Single Number III
    XOR异或解惑
    First Bad Version
    while(!in.empty()) 和 while(in.size())
  • 原文地址:https://www.cnblogs.com/For-Miku/p/12180093.html
Copyright © 2011-2022 走看看