当前位置: 首页 > 编程日记 > 正文

NOIP2012-摆花

放题目不解释~~~~

【试题描述】

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

【输入】

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

【输出】

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

【输入示例】

2 4
3 2

【输出示例】

2

【其他说明】

【输入输出样例说明】有2种摆花的方案,分别是(1,1,1,2),(1,1,2,2)。括号里的1和2表示两种花,比如第一个方案是前三个位置摆第一种花,第四个位置摆第二种花。
【数据范围】0<n≤100,0<m≤100,0≤ai≤100。

 

好的这题是一道很经典的动态规划

【重点】状态转移方程推导

n种花摆放=》每种花摆x盆=》前i种花摆j(0-a[i])盆=》flower[i][j]=sum(flower[i-1][j]-flower[i-1][j-k])(k=0-a[i])

 1 for(int i=2;i<=n;i++)2     {3         for(int j=1;j<=m;j++)4         {5             for(int k=0;k<=a[i];k++)6             {7                 if(k<=j)8                 {9                     flower[i][j]=(flower[i][j]+flower[i-1][j-k])%1000007;    
10                 }        
11             }
12         }
13     }

 第一种花摆1-a[i]个各有一种方法

1     for(int i=1;i<=a[1];i++)
2     {
3         flower[1][i]=1;
4     }

 不摆也是一种方法

1 for(int i=1;i<=n;i++)
2     {
3         flower[i][0]=1;
4     }

 完整代码如下

 1 /*问题拆解:n种花摆放=》每种花摆x盆=》第i种花摆j(0-a[i])盆2 =》flower[i][j]=sum(flower[i-1][j]-flower[i-1][j-k])k=0-a[i]*/3 #include<iostream>4 int flower[113][113];5 using namespace std;6 int main()7 {8     int n,m;    9     int a[113];
10     cin>>n>>m;
11     for(int i=1;i<=n;i++)
12     {
13         cin>>a[i];
14     }
15     for(int i=1;i<=a[1];i++)
16     {
17         //第一种花每个摆i个只有一种方法 
18         flower[1][i]=1;
19     }
20     for(int i=1;i<=n;i++)
21     {
22         //不摆也是一种方法 
23         flower[i][0]=1;
24     }
25     for(int i=2;i<=n;i++)
26     {
27         for(int j=1;j<=m;j++)
28         {
29             for(int k=0;k<=a[i];k++)
30             {
31                 if(k<=j)
32                 {
33                     flower[i][j]=(flower[i][j]+flower[i-1][j-k])%1000007;    
34                 }        
35             }
36         }
37     }
38     cout<<flower[n][m];
39 } 

好滴~摆花这道题就是这么做哒~~
打死也不会承认我第一眼看什么题都是深搜

 

在暴风雨中低着头,是为了不让雨水模糊风雨后眼中的彩虹。

转载于:https://www.cnblogs.com/DK-F/p/9436284.html

相关文章:

github提交代码却没有显示绿格子

在github上提交代码之后&#xff0c;进入github上面查看自己的提交&#xff0c;可以看看刚刚的提交内容&#xff0c;但是却一直没有显示绿格子&#xff0c;一个原因是本地git的配置邮箱和github上面的邮箱不一致。 解决办法是&#xff0c;打开本地的git bash&#xff0c;然后直…

spark+openfire即时通讯工具二次开发参考文档

摘自: http://gmd20.blog.163.com/blog/static/168439232010527525542/ 其中Spark是开源的基于XMPP协议的即时通讯工具&#xff0c;公司最近也换到用这个了&#xff0c;说是在服务器&#xff08;openfire&#xff09;上可以备份消息&#xff0c;然后可以看员工的聊天记录 smac…

python selenium 等待页面加载完毕_Selenium_等待页面加载完毕

隐式等待WebDriver driver newFirefoxDriver();driver.get("www.baidu.com");driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);WebElement element driver.findElement(By.cssSelector(".abc"));((JavascriptExecutor)driver).executeS…

TechEd 2012奥兰多!

亚特兰大TechEd 2011如同昨天的事情&#xff0c;今天又无比期待奥兰多的TechEd 2012&#xff01;如果可能的话&#xff0c;我将继续为大家分享关于奥兰多TechEd 2012 的现场见闻&#xff01; 转载于:https://blog.51cto.com/suhua/845796

【常见CPU架构对比】维基百科

Comparison of instruction set architectures https://en.wikipedia.org/wiki/Comparison_of_instruction_set_architectures转载于:https://www.cnblogs.com/timeObjserver/p/9441242.html

Python基础学习1(Python的Windows和Linux的安装及简单学习)

一Python的安装 1.Windows下安装Python &#xff08;1&#xff09;windows 命令行的几个常见的命令 dir&#xff1a;查看当前目录下的所有文件&#xff0c;以及目录 cd NAME&#xff1a;进入到NAME目录下&#xff08;tab键自动补全&#xff09; D: 切换到D盘 type NUL…

Python Tutorial(十):浏览标准库(一)

10.1 操作系统接口 os模块提供很多函数用于和操作系统的交互&#xff1a; 确定使用import os风格而不是from os import *。这将避免os.open()被内建的open()函数遮住&#xff0c;它的操作截然不同。 内建的函数dir()和help()作为交互助手对于大的模块像os是非常有用的&#xff…

学业水平考试b能上985吗_河南单招哪些学院好考?哪些专业能录取?

高职单招的录取规则是什么?在符合报考条件的前提下&#xff0c;考试是由两部分组成&#xff1a;文化素质评价职业适应性测试、职业技能测试。文化素质评价大多院校采用学业水平考试等级成绩折合一定的分值计入。有些学校采用现场考试语数外三门&#xff0c;以实际成绩计入。职…

单例模式Java实现

为什么80%的码农都做不了架构师&#xff1f;>>> public class Singleton {private static Singleton instance null;// 同步时加锁的静态对象private static final Object OL new Object();private Singleton() {// Class initialize}/** 在多线程环境下执行时的…

Go环境搭建、Sublime Text 3 安装Go语言相关插件gosublime

Go 语言环境安装 1.brew install go 默认安装&#xff0c;被安装了/usr/local/Cellar/go 目录并自设置了环境变量。 2.go env 可查看目前的go的环境变量 3.配置一个GOPATH环境变量&#xff0c;是工作目录。 根据约定&#xff0c;GOPATH下需要建立3个目录&#xff1a; bin 存储编…

ABAP性能实例七例

一、SQL Interface 1.Select ... Where vs. Select Check 用Select … Where语句效率比Select Check语句要高&#xff0c;例如&#xff1a; SELECT * FROM SBOOK INTO SBOOK_WA WHERE CARRID LH AND CONNID 0400. ENDSELECT. SELECT * FROM SBOOK INTO SBOOK_WA. CHECK: SB…

C语言中打印‘%’

C语言中打印‘%’不能直接printf("%")&#xff0c;这里的%有特殊含义的&#xff0c;要想打印的话&#xff0c;需要输入printf("%%")&#xff0c;两个%才可以将它打印出来。C语言中的其他的特殊字符&#xff0c;以后再慢慢做整理。

vba 字体颜色_多掌握一些VBA语句,让自己书写代码更加顺畅

VBA 是好东西&#xff0c;对于身在职场的人员&#xff0c;或者是积极打拼的创业者&#xff0c;是数据分析的首选&#xff0c;他可以实现量身定做&#xff0c;解决一些规律性强的问题。或者代替人处理一些可以描述出有逻辑关系的数据分析。多掌握一些VBA语句&#xff0c;让自己书…

编写jQueryUI插件(widget)

使用jQueryUI的widget来写插件&#xff0c;相比于基本的jquery插件有一些好处&#xff1a; * 方便实现继承&#xff0c;代码重用 * 默认是单例 * widget已经给你实现好的一些常用方法&#xff0c;例如destroy 带来好处的同时也带来了荆棘和陷阱&#xff0c;本文的目的就是梳理这…

mail 发送email

&#xff08;一&#xff09;首先安装ssmpt和mailutils&#xff1a; sudo apt-get install ssmtp mailutils &#xff08;二&#xff09;接下来编辑配置文件sudo gedit /etc/ssmtp/ssmtp.conf rootYOUR_PERSONAL_MAILDOMAIN mailhubsmtp.gmail.com:465 rewriteDomaingmail.com A…

C语言中字符型在计算机中的存储

一. 字符型的分类和表示范围 char&#xff1a;是有符号还是无符号数视编译器而定&#xff0c;一般为有符号数&#xff0c;下文把它全部当成有符号数进行讨论 表示范围&#xff1a;32位和64位机器上均是一个字节&#xff0c;所以是八个bit位&#xff0c;最高位为符号位之后&…

python中正确的表达式_python中如何正确使用正则表达式的详细模式(Verbose mode expression)...

简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具&#xff0c;拥有自己独特的语法以及一个独立的处理引擎&#xff0c;效率上可能不如str自带的方法&#xff0c;但功能十分强大。得益于这一点&#xff0c;在提供了正则表达式的语言里&#xff0c…

ASP.NET中 RequiredFieldValidator(非空验证)的使用

ylbtech-ASP.NET-Control-Validator: RequiredFieldValidator(非空验证)的使用ASP.NET中 RequiredFieldValidator(非空验证)的使用。 1.A,运行效果返回顶部 登录 RequiredFieldValidator&#xff1a;非空验证重要的属性&#xff1a;1,ControlToValidate&#xff1a;要验证的控件…

5013.FortiGate企业级硬件防火墙Demo演示文档

FortiGate企业级硬件防火墙Demo演示文档 语言&#xff1a;英文类型&#xff1a;Demo大小&#xff1a;2MB格式&#xff1a;WEB摘要&#xff1a;和真实的硬件防火墙操作界面一模一样的&#xff0c;非常实用&#xff01;可以通过这些界面了解到在配置硬件防火墙时需要配置哪些参数…

下拉列表JComboBox,列表框JList

1、下拉列表JComboBox public class Demo extends JFrame {public Demo() {setBounds(100, 100, 200, 100);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);Container c getContentPane();c.setLayout(new FlowLayout()); // JComboBox cbbnew JComboBox();…

C语言中整型在计算机中的存储

一 . 整型的表示 1.字面值后面加上L(l)表示long长整型 2.字面值后面加上U(u)表示usigned整型值 3.十进制123 ... 4.八进制&#xff0c;以0开头&#xff0c;如0123&#xff0c;0754 ... 5.十六进制&#xff0c;以0x开头&#xff0c;如0xF32 ... 二 .整型的分类和表示范围 ch…

多个前端项目放在一个git好还是_前端工作流

没有规矩不成方圆&#xff0c;如果一个项目只有你一个人在维护&#xff0c;那么你不需要担心很多问题&#xff0c;因为你对它心知肚明&#xff0c;但同时一个人的力量无法支撑起来大型项目。更多时候&#xff0c;我们需要与其他人合作&#xff0c;共同把项目推进&#xff0c;这…

hadoop上的pageRank算法

简单的pageRank实现参考&#xff1a;http://wlh0706-163-com.iteye.com/blog/1397694 较为复杂的PR值计算以及在hadoop上的实现&#xff1a;http://deathspeeder.is-programmer.com/posts/31349.html pageRank算法的基本思想是&#xff1a;网页的热门程度依赖指向它的网页的热门…

【11平台天梯】【原理分析】11平台天梯原理分析

写作缘由 (Elo Ratings) ELO排名制度是当今对弈水平评估的公认的权威方法。它最初由物理学教授 Arpad Elo 创立&#xff0c;故命名为埃罗排名。埃罗排名最早应用于国际象棋和围棋&#xff0c;目前已广泛用于国际象棋、围棋、足球、篮球等运动。ELO算法先是在网游WOW取得了成功&…

PAT Basic 1072

1072 开学寄语 下图是上海某校的新学期开学寄语&#xff1a;天将降大任于斯人也&#xff0c;必先删其微博&#xff0c;卸其 QQ&#xff0c;封其电脑&#xff0c;夺其手机&#xff0c;收其 ipad&#xff0c;断其 wifi&#xff0c;使其百无聊赖&#xff0c;然后&#xff0c;净面、…

C语言中浮点型在计算机中的存储

一 . 浮点型的存储 在十进制中我们都学习过科学计数法&#xff0c;比如31.4可以用科学计数法表示就是3.14*10^1。浮点型同样是采取科学计数法进行表示的。在计算机中&#xff0c;以二进制数存储&#xff0c;如1011.10用科学计数法的方式可以写成1.01110*2^3&#xff0c;因为浮点…

object-c中管理文件和目录:NSFileManager使用方法

object&#xff0d;c中管理文件和目录&#xff1a;NSFileManager使用方法 对于NSFileManager&#xff0c;文件或目录是使用文件的路径名唯一标识的。每一个路径名都是一个NSString对象&#xff0c;它可以是相对路径名&#xff0c;也可以是完整路径名。 相对路径名是相对于当前目…

python实现ssh登录send_Python实现ssh批量登录并执行命令

局域网内有一百多台电脑&#xff0c;全部都是linux操作系统&#xff0c;所有电脑配置相同&#xff0c;系统完全相同(包括用户名和密码)&#xff0c;ip地址是自动分配的。现在有个任务是在这些电脑上执行某些命令&#xff0c;者说进行某些操作&#xff0c;比如安装某些软件&…

传Exchange 15将于今年9月发布

Microsoft Exchange Conference &#xff08;简称MEC&#xff09;是微软公司所举办的有关Exchange Server软件的主题会议&#xff0c;但它在过去的十年间一直没有举行。今年的9月24-26日&#xff0c;微软将在佛罗里达州重新启动MEC并展示Exchange 15。根据ZDNet报道&#xff0c…

Django进阶之session

基于cookie做用户验证时&#xff1a;敏感信息不适合放在cookie中 session依赖cookie session原理 cookie是保存在用户浏览器端的键值对 session是保存在服务器端的键值对 session服务端中存在的数据为&#xff1a; session {随机字符串1&#xff1a;{用户1的相关信息}随机字符…