题目描述

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

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

输入格式

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

第二行有 nn 个整数,每两个整数之间用一个空格隔开,依次表示 a_1,a_2, \cdots ,a_na1​,a2​,⋯,an​。

输出格式

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

输入输出样例

输入 #1复制

2 4
3 2

输出 #1复制

2

说明/提示

【数据范围】

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

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

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

NOIP 2012 普及组 第三题

思路:

动态规划通过种类,总盆数,每种花的盆数来循环即可

代码如下:

#include<cmath>
#include<iostream>
#include<cstring>
#include<cstdio>
const int mod=1e6+7;
using namespace std;
int a[1008666],f[1000][1000];
int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}f[0][0]=1;for(int i=1;i<=n;i++){for(int j=0;j<=m;j++){for(int k=0;k<=a[i];k++){if(k<=j){f[i][j]+=f[i-1][j-k];f[i][j]%=mod;//题目要求}}}}cout<<f[n][m];
}

洛谷P1077 [NOIP2012 普及组] 摆花相关推荐

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

    题意:小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 mm 盆.通过调查顾客的喜好,小明列出了顾客最喜欢的 n种花,从1到n标号.为了在门口展出更多种花,规定第 ii 种花不能超过ai ...

  2. 信息学奥赛一本通 1958:【12NOIP普及组】寻宝 | OpenJudge NOI 1.12 06 | 洛谷 P1076 [NOIP2012 普及组] 寻宝

    [题目链接] ybt 1958:[12NOIP普及组]寻宝 洛谷 P1076 [NOIP2012 普及组] 寻宝 OpenJudge NOI 1.12 06:寻宝 [题目考点] 1. 模拟 2. 循环 ...

  3. 信息学奥赛一本通 1098:质因数分解 | 1957:【12NOIP普及组】质因数分解 | OpenJudge NOI 1.5 43 | 洛谷 P1075 [NOIP2012 普及组] 质因数分解

    [题目链接] ybt 1098:质因数分解 ybt 1957:[12NOIP普及组]质因数分解 OpenJudge NOI 1.5 43:质因数分解 洛谷 P1075 [NOIP2012 普及组] 质 ...

  4. 洛谷——P1075 [NOIP2012 普及组] 质因数分解

    P1075 [NOIP2012 普及组] 质因数分解 题目描述 已知正整数nn是两个不同的质数的乘积,试求出两者中较大的那个质数. 输入格式 一个正整数nn. 输出格式 一个正整数pp,即较大的那个质 ...

  5. P1077 [NOIP2012 普及组] 摆花

    这是我差不多是第一次从暴力递归优化到记忆化搜索,期间经历了一定的曲折. 解题过程: 1.看到这个题首先能够想到,每次摆花,可以选择和前面一样的花(如果前面的花还有剩余的话),也可以选择摆下一种花,于是 ...

  6. 信息学奥赛一本通 1208:2的幂次方表示 | OpenJudge 2.2 8758:2的幂次方表示 | 洛谷 P1010 [NOIP1998 普及组] 幂次方

    [题目链接] ybt 1208:2的幂次方表示 OpenJudge 2.2 8758:2的幂次方表示 洛谷 P1010 [NOIP1998 普及组] 幂次方 [题目考点] 1. 递归 [解题思路] 递 ...

  7. 信息学奥赛一本通 1314:【例3.6】过河卒(Noip2002) | 1921:【02NOIP普及组】过河卒 | 洛谷 P1002 [NOIP2002 普及组] 过河卒

    [题目链接] ybt 1314:[例3.6]过河卒(Noip2002) ybt 1921:[02NOIP普及组]过河卒 洛谷 P1002 [NOIP2002 普及组] 过河卒 [题目考点] 1. 坐标 ...

  8. 信息学奥赛一本通 1179:奖学金 | 1938:【07NOIP普及组】奖学金 | OpenJudge NOI 1.10 04 | 洛谷 P1093 [NOIP2007 普及组] 奖学金

    [题目链接] ybt 1179:奖学金 ybt 1938:[07NOIP普及组]奖学金 OpenJudge NOI 1.10 04:奖学金 洛谷 P1093 [NOIP2007 普及组] 奖学金 [题 ...

  9. 信息学奥赛一本通 1233:接水问题 | 1950:【10NOIP普及组】接水问题 | OpenJudge NOI 1.9 15 | 洛谷 P1190 [NOIP2010 普及组] 接水问题

    [题目链接] ybt 1233:接水问题 ybt 1950:[10NOIP普及组]接水问题 OpenJudge NOI 1.9 15:接水问题 洛谷 P1190 [NOIP2010 普及组] 接水问题 ...

最新文章

  1. SCRIPT LOAD lua文件
  2. 背口诀14天精通c语言pdf下载,C语言必背18个经典程序
  3. sublime4 安装pretty json 并绑定快捷键
  4. [Java基础]数据输入
  5. [react] react怎么拿到组件对应的DOM元素?
  6. shiro扩展获得用户登录类型并提供cookie的方式记住用户密码
  7. python爬虫什么意思-Python 爬虫是什么
  8. 帧数达不到144用144hz_专业FPS玩家讲解:60Hz与144Hz刷新率的问题
  9. 芭蕉树上第二十二根芭蕉-- QT中一些报错问题
  10. Java高级——OutOfMemoryError和StackOverflowError
  11. 控制导弹发射的计算机应用属于,计算机应用基础17.doc
  12. Google Android软件架构
  13. 勤于奋国外LEAD联盟赚钱注意事项
  14. hashCode:哈希值
  15. Flutter For Web入门
  16. 绘画初学者动物怎么画?画动物的基本思路以及画法教程
  17. Unity3D证书(序列号)升级总结
  18. 贝塞尔函数 matlab程序,bessel 贝塞尔函数的零点 MATLAB MAPLE
  19. c++将小数化为二进制_C++实现任意进制之间转换
  20. Hibernate 快速入门

热门文章

  1. 关于金钱与资源要如何分配
  2. 孙悟空早已死在取经途中
  3. Java项目:知识库管理系统(java+SSM+bootstrap+jquery+mysql)
  4. 曾经和人谈到情,句句不离你
  5. js之表单序列化提交
  6. oracle按区间查询,Oracle模糊查询时间以及按照时间区间查询
  7. 2011,我的求职攻略
  8. 第四章 知识结构导图
  9. 没有50W彩礼,该怎么办
  10. 图标选择模态框antd封装