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

NOIP2012普及】摆花

P1077 [NOIP 2012 普及组] 摆花

题目描述

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

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

输入格式

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

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

输出格式

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

输入输出样例 #1

输入 #1

2 4
3 2

输出 #1

2

说明/提示

【数据范围】

对于 \(20\%\) 数据,有 \(0<n \le 8,0<m \le 8,0 \le a_i \le 8\)

对于 \(50\%\) 数据,有 \(0<n \le 20,0<m \le 20,0 \le a_i \le 20\)

对于 \(100\%\) 数据,有 \(0<n \le 100,0<m \le 100,0 \le a_i \le 100\)

NOIP 2012 普及组 第三题

解题思路:我们要求的是n种花,m个位置的摆放方案,我们可以先设dp[i][j],表示i种花,j个位置的摆放方案,再从范围去推状态转移方程,这个时候我们不难发现,当我门去推前n种花m个位置的方案数时前n-1种花的方案数我们已经算出来了,那么我们只要枚举第n种花摆放不同数量的方法和即可,dp[n][m]=sum(dp[n][m],dp[n-1][m-k]) k属于(1,\(a_{n}\)

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int dp[40]={0};
int ans[203][123]={0};
ll mod=1e6 + 7;;
int main() {int n,m;cin>>n>>m;for (int i = 1; i <= n; i++) {cin>>dp[i];ans[i][0]=1;}ans[0][0]=1;for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {for (int k = 0; k <=min(j,dp[i]); k++) {ans[i][j]=(ans[i][j]+ans[i-1][j-k])%mod;}}}cout<<ans[n][m]<<endl;return 0;
}
http://www.jsqmd.com/news/776499/

相关文章:

  • 2026年华为云小白教程:OpenClaw如何安装?Token Plan配置与大模型接入全解
  • 网盘直链下载助手:八大主流网盘文件直链获取技术方案详解
  • 2026年广东深圳亚马逊气候友好认证及EUDR合规服务公司推荐 - 深度智识库
  • 星露谷物语模组革命:5个关键步骤掌握SMAPI模组框架
  • MacBook上从零搭建PX4开发环境:手把手解决Homebrew、Gazebo安装的那些坑
  • PyQt-Fluent-Widgets终极指南:打造现代化Fluent Design桌面应用
  • 别再只调颜色了!用STM32驱动SK6812/WS2812实现呼吸灯和流水灯(附完整代码)
  • 手把手调试RH850看门狗:用变量激活码(VAC)实现安全喂狗与复位分析
  • 115proxy-for-Kodi:实现115网盘视频原码播放的终极解决方案
  • 保姆级教程:手把手带你读懂DP1.2协议中的位序与字节序(附实战解析)
  • 别再只会用四面体了!CAE工程师必看的六面体网格划分实战指南(附主流算法对比)
  • 微服务系统架构开发和测试
  • 告别Appium!用Python+uiautomator2实现Android自动化测试的保姆级避坑指南
  • Windows 蓝牙设备管理源码
  • 2026年草坪减震垫优质厂家推荐指南 石家庄跃荣新材料科技有限公司优选 草坪减震垫 人造草坪减震垫 草坪缓冲垫 XPE草坪减震垫 足球场草坪减震垫 厂家电话 - 奔跑123
  • PotPlayer实时字幕翻译插件终极配置指南:打破语言障碍的完整方案
  • StreamFX实战进阶:如何解决OBS直播画面效果单一的深度指南
  • 解密AI成本控制:TikTokenizer如何帮你精确计算OpenAI API令牌消耗
  • 告别虚拟机!用Qt Creator配置ARM64交叉编译套件,一键编译国产化应用
  • EPIC-ADN9 SBC硬件架构与工业应用实战解析
  • 用Rust构建私有化AI智能体运行时:Starpod架构与实战指南
  • 沃尔玛回收怎么操作?五一闲置电子卡使用+变现全攻略 - 喵权益卡劵助手
  • 告别模糊照片:用PMRID模型训练自己的图像去噪数据集(附SIDD数据集处理避坑指南)
  • 自动驾驶安全新维度:V2X通信如何破解人机混行困局
  • 创业团队如何利用统一 API 网关优化 AI 开发成本与效率
  • AI 智能体交互如何带领它走出对话框,从屏幕像素迈向真实物理世界
  • 用5个GPIO驱动两位数码管?手把手教你玩转Charlieplexing算法(附STM32代码)
  • 大众点评爬虫架构深度解析:动态字体加密破解与高可用数据采集方案
  • 一键解锁九大网盘下载自由:LinkSwift完全攻略
  • PyQt-Fluent-Widgets:终极现代化桌面UI开发解决方案