[Noip2012普及组]摆花

Description

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

Input

共 2 行。
第一行包含两个正整数 n 和 m,中间用一个空格隔开。
第二行有 n 个整数,每两个整数之间用一个空格隔开,依次表示 a1、a2、……an。

Output

输出只有一行,一个整数,表示有多少种方案。
注意:因为方案数可能很多,请输出方案数对 1000007 取模的结果。

Sample Input

2 4
3 2

Sample Output

2

普及组难度一般的dp,详情见代码

方程的含义是到第i种花,一共摆了j盆,第i种花摆k盆的方案总数

 1 #include<cstdio>
 2 int f[101][101],n,m,a[101];
 3 int main()
 4 {
 5     scanf("%d%d",&n,&m);
 6     for(int i=1;i<=n;i++)
 7         scanf("%d",&a[i]);
 8     f[0][0]=1;
 9     for(int i=1;i<=n;i++)
10         for(int j=0;j<=m;j++)
11             for(int k=0;k<=a[i];k++)
12                 if(j>=k)
13                     f[i][j]=(f[i][j]+f[i-1][j-k])%1000007;
14     printf("%d",f[n][m]);
15 }

原文地址:https://www.cnblogs.com/lcxer/p/9441784.html

时间: 2024-11-13 06:35:32

[Noip2012普及组]摆花的相关文章

NOIP2012普及组 (四年后的)解题报告 -SilverN

本章施工仍未完成 现在的时间是3.17 0:28,我困得要死 本来今天(昨天?)晚上的计划是把整个四道题的题解写出来,但是到现在还没写完T4的高效算法,简直悲伤. 尝试了用floyd写T4,终于大功告成AC后,看到别人的解题报告说fl能过只是因为测试数据范围小. 好像主要有三种解法,fl,dij,dfs dfs暂时弃,dij写到现在还没完成,先把fl的放上来. 等攻下T4,再施工前面三道题 T4-Floyd: 读完数据以后,只要把文化不兼容的城市的路都堵上,就可以用floyd了 可怜我之前堵路无

Noip2012 普及组 第三题 摆花

博主声明: 新手第一次写动规的题解,如果出现错误请各位大力的喷,但不要骂脏话,最好告诉我怎么改,谢谢~.~ !!! 摆花 (flower.cpp/c/pas) [问题描述] 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 m 盆. 通过调查顾客的喜好,小明列出了顾客最喜欢的 n 种花,从 1 到 n 标号. 为了在门口展出更多种花,规定第 i 种花不能超过 ai 盆, 摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列. 试编程计算,一共有多少种不同的摆花方案

noip2012 普及组

T1 质因数分解 题目传送门 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define LL long long using namespace std; LL read(){ LL ans=0,f=1,c=getchar(); while(c<'0'||c>'9'){if(c=='-') f=-1; c=getchar();} while(c&g

Noip2012普及组

T2: 传说很遥远的藏宝楼顶层藏着诱人的宝藏.小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书.说明书的内容如下: 藏宝楼共有N+1层,最上面一层是顶层,顶层有一个房间里面藏着宝藏.除了顶层外,藏宝楼另有N层,每层M个房间,这M个房间围成一圈并按逆时针方向依次编号为0,-,M-1.其中一些房间有通往上一层的楼梯,每层楼的楼梯设计可能不同.每个房间里有一个指示牌,指示牌上有一个数字x,表示从这个房间开始按逆时针方向选择第x个有楼梯的房间(假定该房间

NOIP2012普及组解题报告

by RtPYH ------------------------------------------------------------------------------------------------------------------ 前言:作者是一个蒟蒻,如果对本文有建议,欢迎提出!鄙人将虚心接受. --------------------------------------------------------------------------------------------

NOIP2012普及组--质因数分解

分析:一遍遍循环,效率比较低,但可以通过减半和除偶来减少次数,但是依旧不是很理想,数论中有个定论是任意合数都可以由 几个质数乘的,但是目前还没想好怎么运用这个定论,所以将就一下. PS:这个数肯定是合数,因为1不是质数,所以不可能是1和本身. 1 #include <stdio.h> 2 int main() 3 { 4 int n,i; 5 int j,x=0; 6 scanf("%d",&n); 7 for(i=(n/2);i>2;i--) //因为质因数

2017年8月14日套题记录 | 普及组

写在前面 今天登洛谷发现离Noip剩下88天了??(虽然看起有点久),然后觉得似乎水了一个暑假什么也没做(虽然学了点数据结构和一些奇奇Gaygay的东西),于是打开题库发现去年Long Happy的集训套题我似乎没有提交过,那就一天一套题,顺便码个题解+心得(雾? T2.传作业 题目描述 某十三同学一日上学迟到,此时已经开始上早自习了,所以他只好请同学帮忙把作业传到组长那里.由于刚开学不久,某十三同学还没来得及认识所有同学,所以传作业时只好找熟悉的同学.已知某十三与组长之间有N个他熟悉的同学,并

1143 纪念品分组 2007年NOIP全国联赛普及组

1143 纪念品分组 2007年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数.为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少. 你的任务是写一个程序

采药 2005年NOIP全国联赛普及组&amp;疯狂的采药

时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:"孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大."