摆花
来源:互联网 发布:电子词典 知乎 编辑:程序博客网 时间:2024/06/11 01:22
题目描述
小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。
试编程计算,一共有多少种不同的摆花方案。
输入输出格式
输入格式:第一行包含两个正整数n和m,中间用一个空格隔开。
第二行有n个整数,每两个整数之间用一个空格隔开,依次表示a1、a2、……an。
输出格式:输出只有一行,一个整数,表示有多少种方案。注意:因为方案数可能很多,请输出方案数对1000007取模的结果。
输入输出样例
输入样例#1:2 4
输出样例#1: 2
3 2
说明
【数据范围】
对于20%数据,有0<n≤8,0<m≤8,0≤ai≤8;
对于50%数据,有0<n≤20,0<m≤20,0≤ai≤20;
对于100%数据,有0<n≤100,0<m≤100,0≤ai≤100。
NOIP 2012 普及组 第三题
这题明显是要用动规,然而对于初学动规的我来说也还是很难,仔细研究了很久,为了保证摆的花不超过规定的盆数,在摆第i种花时摆花的盆数不能超过min(a [ i ] , j )盆(j 表示还有几盆花要摆),在不超过限制的情况下摆一盆花的方案数为min( a[ i ] , j ),摆两盆花时的方案数f[n][2]+=f[n-1][2-k](k从0~min(a[i],2))。所以就得到动态转移方程f[i][j]+=f[i-1][j-k](0<=k<=min(a[i],j)).
代码如下:
#include<iostream>#include<cstdio>using namespace std;int n,m,a[101],f[101][101],mi;int main(){ 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++) { if(a[i]>j) mi=j; else mi=a[i]; for(int k=0;k<=mi;k++) f[i][j]=(f[i][j]+f[i-1][j-k])%1000007;//每次相加时都要取模,防止爆掉。 } cout<<f[n][m]%1000007; return 0; }
阅读全文
0 0
- 摆花
- 摆花
- 摆花
- 摆花
- 摆花
- VIJOS 1792 摆花
- noip2012摆花
- codevs 摆花
- 【codevs1315】摆花 DP
- 洛谷1077 摆花
- NKOI 3711 摆花
- 洛谷 P1077 摆花
- [NOIP2012][VIJOS1792]摆花
- 【vijosP1792】摆花
- 【VijosP1792】摆花
- 【DP】 摆花
- NOIP 2012 摆花
- NOIP2012摆花
- hdu 2037 今年暑假不AC
- 求n!
- 玩转ESP8266测试板(一):基本操作 2015年1月20日玩转ESP8266测试板(一):基本操作有1条评论阅读: 1,490 次 ESP8266测试板到了,在此记录一下使用过程。 先上图:
- OOP-面向对象的编程思想
- IntelliJ Java:-source 1.3中不支持,使用-source 5 或更高的版本一启用
- 摆花
- 1034. 有理数四则运算(20)
- JavaSE-4
- 1035. 插入与归并(25)
- 如何让你的虚拟机上网
- 综合
- Java多线程系列1(线程基本常识)
- android shape的应用之画一条虚线
- python之range与xrange使用区别
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
工贸公司注册条件
工贸技术学院
烟台工贸职业技术学院
广东工贸职业技术学院宿舍
广东市工贸技师学院
广州工贸高级技工学校
成都工贸职业技术学院怎么样
工贸高级技工学校
河南工贸职业学院
浙江工贸职业技术学院轻工系
温州工贸职业技术学院
工贸是什么意思
浙江工贸职业技术学院招生网
广东工贸职业技术学校
浙江工贸学院
工贸职业技术学校
工资指导线
工资表
工资税率
工资计算器
工资条
平均工资
公务员工资
拖欠工资
工资扣税
空姐工资
病假工资
查工资
工资查询
工资图片
工资核算
工资太低
工资标准表
工资怎么算
高工资工作
水手工资
测试工资
工资低
劳动法工资
小时工工资
it工资多少