首页 > 其他分享 >洛谷 P1077 [NOIP2012 普及组] 摆花 (DP)

洛谷 P1077 [NOIP2012 普及组] 摆花 (DP)

时间:2022-10-28 11:56:43浏览次数:84  
标签:摆花 洛谷 NOIP2012 LL cin P1077 const DP

https://www.luogu.com.cn/problem/P1077

题目描述

摆上m盆花。

一共有n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。

试编程计算,一共有多少种不同的摆花方案。

注意:因为方案数可能很多,请输出方案数对10^6+7取模的结果。
输入 #1 
2 4
3 2
输出 #1 
2
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL N=500200,M=2002;
const LL mod=1e6+7;
LL a[N],f[M][M];
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    LL T=1;
    //cin>>T;
    while(T--)
    {
        LL n,m;
        cin>>n>>m;
        for(LL i=1;i<=n;i++)
        {
            cin>>a[i];//每种花的可以摆放的最大数量
        }
        f[0][0]=1;
        for(LL i=1;i<=n;i++)//每一种花
        {
            for(LL j=0;j<=m;j++)//总数量的安排
            {
                for(LL k=0;k<=min(j,a[i]);k++)//当前每一种花可以摆放的数量必须在自己的限制以及剩余地方的数量的限制下
                {
                    //前一种花的数量下实现递增
                    f[i][j]=(f[i][j]+f[i-1][j-k])%mod;
                }
            }
        }
        cout<<f[n][m]<<endl;
    }
    return 0;
}

标签:摆花,洛谷,NOIP2012,LL,cin,P1077,const,DP
From: https://www.cnblogs.com/Vivian-0918/p/16835462.html

相关文章

  • 洛谷 P6963
    不难发现,包含关系只可能是短的路径被长的路径包含。那么我们考虑按照路径长度从小到大,一条一条路径边加入边判断。考虑先将树上的所有边断开,每加入一条路径的时候就将这......
  • 洛谷 P7023
    首先可以发现一些有用的性质:每个数至多操作一次如果一个数,在原数列中有它的倍数,那么改变成那个数一定是最优的。否则可以改变成所有数的最小公倍数。贪心的,按出现次数......
  • 洛谷P3225 [HNOI2012]矿场搭建
    SLOJH7136.「HNOI2012」矿场搭建题目描述煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援......
  • 洛谷 P8595 「KDOI-02」一个网的路 蓝 题解
    定义树形\(DP\),这个挺明显的,我认为\(DP\)让读者理解的最重要的一步是:定义。所以我先详细说明\(f\)数组的定义,至于为什么这么定义后面再讲。\(f_{u,type}\),其中\(......
  • 洛谷 P3592
    首先不难发现最终答案中只会出现\(c_i\)中的数,所以可以将\(c_i\)离散化。设\(f_{i,j,k}\)表示区间\([l,r]\),最小值不小于\(k\)的最大收益,\(cnt_{i,j}\)表示区间......
  • 洛谷P1021题解
    原题P1021[NOIP1999提高组]邮票面值设计思路概述题意分析给定两个整数\(N,K(N+K≤15)\),设计\(K\)种邮票面值\(\{a_1,a_2\dotsa_K\}\),并用共\(N\)张上述邮票......
  • 洛谷P1064题解
    原题P1064[NOIP2006提高组]金明的预算方案思路概述题意分析给定一个体积为\(n\)的背包和\(m\)个物品。每个物品通过\((\text{价值},\text{体积})\)的形式表......
  • 洛谷 P7003
    考虑当左端点固定时,区间的\(\&\)和至多有\(\logw\)种,因为\(1\)的数量是单调不升的。所以我们可以枚举区间左端点\(i\),然后ST表预处理区间\(\&\)和+二分求出......
  • 洛谷P2512 [HAOI2008]糖果传递
    SLOJP1117.糖果传递题目描述有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为11。输入格式小朋友个数n,下面n行ai​......
  • 洛谷 P6453
    设第\(i\)列高\(h_i\),建立序列\(h_i\)的小根笛卡尔树,然后树形DP。发现这样就将原来不规整的图形剖分成若干个矩形:我们发现,这样构成的若干个矩形正好对应小根笛卡......