当前位置: 首页 > news >正文

题解:洛谷 P1077 [NOIP 2012 普及组] 摆花

【题目来源】

洛谷:P1077 [NOIP 2012 普及组] 摆花 - 洛谷

【题目描述】

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

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

【输入】

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

第二行有 \(n\) 个整数,每两个整数之间用一个空格隔开,依次表示 \(a_1,a_2,⋯,a_n\)

【输出】

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

【输入样例】

2 4
3 2

【输出样例】

2

【代码详解】

#include <bits/stdc++.h>
using namespace std;// 定义变量:
// n - 花的种类数
// m - 需要摆放的花的总数
// f - DP数组,f[i][v]表示前i种花摆放v盆的方案数
// a - 每种花的最大使用数量
int n, m, f[200][200], a[200];int main()
{// 输入花的种类数n和需要摆放的总数mcin >> n >> m;// 输入每种花的最大使用数量for (int i=1; i<=n; i++) {cin >> a[i];}// 初始化DP数组:// f[i][0]=1 表示前i种花摆放0盆的方案数为1(即什么都不放)// 注意要从0开始初始化,因为f[0][0]也需要初始化为1for (int i=0; i<=n; i++) {  // 注意!!要从0开始初始化!f[i][0]=1;}// 动态规划求解for (int i=1; i<=n; i++) {          // 遍历每种花for (int j=1; j<=m; j++) {      // 遍历需要摆放的总数for (int k=0; k<=a[i]; k++) { // 遍历当前花可以摆放的数量(0到a[i])if (j-k>=0) {           // 确保不会出现负数// 状态转移方程:// 前i种花摆放j盆的方案数 = // 前i-1种花摆放j-k盆的方案数之和(k为当前花摆放的数量)f[i][j] = f[i][j] + f[i-1][j-k*1];  // 对结果取模,防止溢出f[i][j] %= 1000007;}}}}// 输出结果:前n种花摆放m盆的方案数cout << f[n][m];return 0;
}

【运行结果】

2 4
3 2
2
http://www.jsqmd.com/news/395006/

相关文章:

  • 抓住风口!转行AI大模型,收入暴涨10倍+_小白程序员快速入门大模型,抢占AI时代先机!
  • 文本创作进化:从辅助写作到内容策划的全面赋能 - 指南
  • 题解:洛谷 P1616 疯狂的采药
  • 题解:洛谷 P1802 5 倍经验日
  • 大模型训练三部曲:预训练、SFT与RLHF,小白也能看懂的大模型三步进化!
  • 基于springboot+Vue的汽车配件销售管理系统_kp8i9cgz
  • 题解:洛谷 P1049 [NOIP 2001 普及组] 装箱问题
  • 基于springboot+Vue的企业员工薪酬管理系统_n4s02htu
  • 【节点】[MainLightRealtimeShadow节点]原理解析与实际应用
  • 学习仲氦光谱的体会
  • 基于springboot+Vue的人才公寓管理系统_897cjl4r
  • Kafka在体育行业的应用:实时比赛数据分析
  • 贷款协商机构怎么选?北、上、广多地正规平台深度解析与亲测推荐 - 代码非世界
  • 负债协商不踩坑!北京、上海、广州贷款协商口碑机构盘点,附真实协商经验 - 代码非世界
  • BISHI61 小q的数列
  • 基于springboot+Vue的仁和机构的体检预约系统的设计与实现_06t067ij
  • 2026负债人实测|靠谱逾期处理公司盘点,正规网贷信用卡协商机构名单(附真实上岸经验) - 代码非世界
  • OpenClaw把“能力(capability)抽象成device
  • AI 时代,程序员和产品经理的生存指南:边界消融后,我们该何去何从?
  • 题解:洛谷 P1048 [NOIP 2005 普及组] 采药
  • 2026年信用卡逾期协商指南:亲测靠谱机构名单与上岸经验分享 - 代码非世界
  • 负债逾期不用愁!高性价比网贷+信用卡协商公司实测,这一家值得托付 - 代码非世界
  • P4211 [LNOI2014] LCA
  • 蓝牙低功耗音频 Le audio音频输入控制协议(AICS)剖析 - 指南
  • 亲身经历:月薪五千,如何应对十万逾期债务?性价比高的协商路子在这 - 代码非世界
  • 题解:洛谷 P2196 [NOIP 1996 提高组] 挖地雷
  • AI应用架构师总结:在线学习系统架构设计的8个核心文档
  • 提示工程架构师亲授:智能交通中的5个关键Prompt设计
  • 本地贷款逾期协商较好的机构口碑评价较高的信用卡协商机构 - 代码非世界
  • 探秘AI提示工程架构师在智能营销中的提示工程应用