首页 > 其他分享 >[NOIP2012 普及组] 摆花(含代码)

[NOIP2012 普及组] 摆花(含代码)

时间:2024-07-22 09:25:02浏览次数:19  
标签:摆花 普及 20 NOIP2012 int 样例 maxn 100

[NOIP2012 普及组] 摆花

题目描述

小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 m m m 盆。通过调查顾客的喜好,小明列出了顾客最喜欢的 n n n 种花,从 1 1 1 到 n n n 标号。为了在门口展出更多种花,规定第 i i i 种花不能超过 a i a_i ai​ 盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。

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

输入格式

第一行包含两个正整数 n n n 和 m m m,中间用一个空格隔开。

第二行有 n n n 个整数,每两个整数之间用一个空格隔开,依次表示 a 1 , a 2 , ⋯   , a n a_1,a_2, \cdots ,a_n a1​,a2​,⋯,an​。

输出格式

一个整数,表示有多少种方案。注意:因为方案数可能很多,请输出方案数对 1 0 6 + 7 10^6+7 106+7 取模的结果。

样例 #1

样例输入 #1

2 4
3 2

样例输出 #1

2

提示

【数据范围】

对于 20 % 20\% 20% 数据,有 0 < n ≤ 8 , 0 < m ≤ 8 , 0 ≤ a i ≤ 8 0<n \le 8,0<m \le 8,0 \le a_i \le 8 0<n≤8,0<m≤8,0≤ai​≤8。

对于 50 % 50\% 50% 数据,有 0 < n ≤ 20 , 0 < m ≤ 20 , 0 ≤ a i ≤ 20 0<n \le 20,0<m \le 20,0 \le a_i \le 20 0<n≤20,0<m≤20,0≤ai​≤20。

对于 100 % 100\% 100% 数据,有 0 < n ≤ 100 , 0 < m ≤ 100 , 0 ≤ a i ≤ 100 0<n \le 100,0<m \le 100,0 \le a_i \le 100 0<n≤100,0<m≤100,0≤ai​≤100。

题目来源

NOIP 2012 普及组 第三题(洛谷)

题解

#include <bits/stdc++.h>
using namespace std;

const int maxn = 105, mod = 1000007;
int n, m, a[maxn], f[maxn][maxn];

int main() {
    // 读入 n 和 m
    cin >> n >> m;
    // 读入每种花的最大摆放数量
    for (int i = 1; i <= n; i++) cin >> a[i];

    // 初始化 f[0][0] = 1
    f[0][0] = 1;

    // 动态规划
    for (int i = 1; i <= n; i++) {
        for (int j = 0; j <= m; j++) {
            for (int k = 0; k <= min(j, a[i]); k++) {
                f[i][j] = (f[i][j] + f[i-1][j-k]) % mod;
            }
        }
    }

    // 输出结果 f[n][m]
    cout << f[n][m] << endl;
    return 0;
}

标签:摆花,普及,20,NOIP2012,int,样例,maxn,100
From: https://blog.csdn.net/weixin_56431011/article/details/140599037

相关文章

  • 【普及组】广度优先搜索BFS——到达型搜索问题_C++算法竞赛
    文章目录1.走迷宫例1.洛谷B3625迷宫寻路例2.洛谷P1825[USACO11OPEN]CornMazeS例3.[ABC348D]MedicinesonGrid(AtCoder)2.生活背景下的常见问题例.P3958[NOIP2017提高组]奶酪3.输出路径例.洛谷P6207[USACO06OCT]CowsonSkatesGEnd提示:本文建议有一定......
  • 【普及动规】dp例题精讲+强化练习
    本篇给大家带来一些好的dp题,大家可以学习一下。找找感觉。dp这种东西主要还是靠分类总结+感觉。多练习永远不错。T1.害羞的xxx题面:(由于某些原因无法公开原题,请见谅)题目背景保护好xxx,因为他随时会害羞。题目描述众所周知,xxx非常害羞。可是学校最近在选拔芭蕾舞演员......
  • [NOIP2005 普及组] 采药
    题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值......
  • 打卡信奥刷题(332)用Scratch图形化工具信奥B3739[普及组/提高] [信息与未来 2018] 整数
    [信息与未来2018]整数乘方题目描述定义aaa的nnn次幂......
  • 打卡信奥刷题(322)用Scratch图形化工具信奥P2735 [普及组/提高组] [USACO3.4] 网 Electr
    [USACO3.4]网ElectricFences题目描述在本题中,格点是指横纵坐标皆为整数的点。为了圈养他的牛,农夫约翰(FarmerJohn)建造了一个三角形的电网。他从原点(0,0)牵出一根通电的电线,连接格点(n,m)(0<=n<32000,0<m<32000),再连接格点(p,0)(p>0),最后回到原点。牛可以在不碰到电网的情......
  • 打卡信奥刷题(313)用Scratch图形化工具信奥P2165[普及组/提高] [AHOI2009] 飞行棋
    [AHOI2009]飞行棋题目描述给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列。请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形。输入格式第一行为正整数N......
  • P1081[NOIP2012提高组]开车旅行
    前两天老师还让我们狂做紫题,为什么今天就要求我们对这一道蓝题打暴力qwqupdata:今天突然看到,这道题也是紫题了qwqP1081开车旅行这道题一看就是dp一类的题,然后就会很顺畅的想到倍增awa首先,看一下暴力怎么打。这道题是当年的T4,然后有整整70分的暴力分,这是十分可观的awa。所......
  • NOIP2005 普及:第三题 采药
    辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你......
  • 打卡信奥刷题(282)用Scratch图形化工具信奥P1182[普及组/提高]数列分段 Section II
    数列分段SectionII题目描述对于给定的一个长度为NNN的正整数数列A......
  • 洛谷P1308 [NOIP2011 普及组] 统计单词数C语言
    #include<stdio.h>#include<string.h>#include<ctype.h>intmain(){charcheck[11];charstr[1000001];intf_num=0;intcount=0;inti=0;intj=0;intp=1;gets(check);gets(str);......