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

洛谷 P2834 纸币问题 3-普及-

题目背景

你是一个非常有钱的小朋友。

注意: 本题和《进阶篇》的对应题目,输入格式略有差异。

题目描述

你有 nnn 种面额互不相同的纸币,第 iii 种纸币的面额为 aia_iai 并且有无限张,现在你需要支付 www 的金额,请问有多少种纸币组合能恰好支付金额 www,答案对 109+710^9+7109+7 取模。

输入格式

第一行两个正整数 n,wn,wn,w,分别表示纸币的种数和要凑出的金额。
第二行一行 nnn 个以空格隔开的正整数 a1,a2,…ana_1, a_2, \dots a_na1,a2,an 依次表示这 nnn 种纸币的面额。

输出格式

一行一个整数,表示能恰好凑齐面额 www 的纸币组合数量。

输入输出样例 #1

输入 #1

6 15
1 5 10 20 50 100

输出 #1

6

输入输出样例 #2

输入 #2

3 15
1 5 11

输出 #2

5

说明/提示

对于 40%40\%40% 的数据,满足 n≤10n\le 10n10w≤100w\le 100w100
对于 100%100\%100% 的数据,满足 1≤n≤1031\le n\le 10^31n1031≤ai,w≤1041\le a_i , w\le 10^41ai,w104

其实小朋友并不有钱。

solution

代码

#include<iostream>
#include "unordered_map"
#include "unordered_set"
#include "stack"
#include "queue"
#include "cstring"
#include "algorithm"using namespace std;
const int N = 1e3 + 5, INF = 1e4, M = 1e4 + 5, mod = 1e9 + 7;int a[N], n, w, f[M], g[M];int main() {cin >> n >> w;for (int i = 0; i < n; i++) cin >> a[i];f[0] = 1;for (int i = 0; i < n; i++) {for (int j = a[i]; j <= w; j++) {f[j] = (f[j] + f[j - a[i]]) % mod;}}cout << f[w];return 0;
}

结果

在这里插入图片描述

http://www.lryc.cn/news/626141.html

相关文章:

  • Flink原理与实践 · 第三章总结
  • 第5.6节:awk字符串运算
  • 【驱动】RK3576:桌面操作系统基本概念
  • L2TP虚拟局域网
  • 快速傅里叶变换:数字信号处理的基石算法
  • Orange的运维学习日记--47.Ansible进阶之异步处理
  • 数据库-MYSQL配置下载
  • go链路追踪
  • 微算法科技(NASDAQ: MLGO)研究利用PBFT中的动态视图变换机制,实现区块链系统高效运转
  • 不同语言的并发模型对比:Go、Java与Python
  • Go高效复用对象:sync.Pool详解
  • 机器学习中的「损失函数」:模型优化的核心标尺
  • 决策树算法详解
  • 【完整源码+数据集+部署教程】鳄梨表面缺陷检测图像分割系统源码和数据集:改进yolo11-MLCA
  • QT聊天项目DAY19
  • 广东省省考备考(第八十一天8.19)——资料分析、数量(强化训练)
  • 第5.5节:awk算术运算
  • 基于深度学习的森林火灾图像识别实战
  • 【撸靶笔记】第七关:GET - Dump into outfile - String
  • 浙江电信IPTV天邑TY1613_高安版_晶晨S905L3SB_安卓9_原厂固件自改_线刷包
  • Linux中Docker k8s介绍以及应用
  • windows电脑对于dell(戴尔)台式的安装,与创建索引盘,系统迁移到新硬盘
  • 微信小程序连接到阿里云物联网平台
  • 高等数学 8.6 空间曲线及其方程
  • 添加右键菜单项以管理员权限打开 CMD
  • DNS有关知识(根域名服务器、顶级域名服务器、权威域名服务器)
  • 【C语言16天强化训练】从基础入门到进阶:Day 3
  • Vue 2 项目中快速集成 Jest 单元测试(超详细教程)
  • 【矢量数据】1:250w中国地质图地断层数据/岩性shp数据
  • EPM240T100I5N Altera FPGA MAX II CPLD