原题链接:MJUPC-006_G.原神:原石的优惠大礼包【升级版】

G.原神:原石的优惠大礼包

题目描述

米哈游公司下的著名开发世界冒险类游戏——原神,正迎来发行一周年的庆典活动,正因如此,瞧中商机的黄牛们纷纷通过自己的渠道屯了大量比官方更低价的且有限的原石。


黄牛们经过派蒙的一番操作后,吸取了教训,他们联合在了一起,统一出售原石,并且用了一种新的销售方式——组合销售,即原石数量为 p p p 的价格为 x x x。

派蒙上一次已经买到了足够的原石,虽然很想再宰黄牛们一笔,但因为经费有限,派蒙这次只有 N N N 元。

输入格式

第一行有 2 2 2 个整数 N N N( 1 ≤ N ≤ 1000 1 \le N \le 1000 1≤N≤1000)和 M M M( 1 ≤ M ≤ 100 1 \le M \le 100 1≤M≤100),用一个空格隔开, N N N 代表经费, M M M 代表黄牛们有多少种组合销售。

接下来的 M M M 行每行包括两个在 1 1 1 到 100 100 100 之间(包括 1 1 1 和 100 100 100)的整数,分别表示购买某种组合需要支付的费用和这组合能得到的原石数量。

输出格式

输出可以买到的原石的最大数量。

输入输出样例

输入 #1:

70 3
71 100
69 1
1 2

输出 #1:

3
说明/提示

【数据范围】

  • 对于 30 % 30\% 30% 的数据, M ≤ 10 M \le 10 M≤10;
  • 对于全部的数据, M ≤ 100 M \le 100 M≤100。

【题目来源】

NOIP 2005 普及组第三题

题目解析:

先说结论,本题是一道入门级别的最经典的动态规划——01背包问题,如果有熟悉01背包问题的朋友,甚至会发现本题把01背包的模板交上去也能过。

前置知识:动态规划——01背包

由题,有 M M M 种组合销售,每种组合销售有两个属性——价格,数量;派蒙有 N N N 元,目的是尽可能买到最多的原石。

显然,可以将派蒙的 N N N​​​​​​ 元当作背包的容量,而任意一种组合销售的价格就可以当作会占用的容量,则数量就为此种组合销售的价值,可以使用01背包解决本题,时间复杂度( N ∗ V N*V N∗V​​​​​​)。

AC代码(C++):
#include <iostream>
#include <algorithm>
using namespace std;const int maxn = 1e3 + 10;int v[maxn], w[maxn];
int f[maxn]; int main()
{int n, m;cin >> n >> m; for(int i = 1; i <= m; i++) cin >> v[i] >> w[i];for(int i = 1; i <= m; i++)for(int j = n; j >= v[i]; j--)f[j] = max(f[j], f[j - v[i]] + w[i]);cout << f[n] << endl;return 0;
}

MJUPC-006_编程挑战系列赛第六场(以代码为文,贺国庆华诞) _G.原神:原石的优惠大礼包【升级版】相关推荐

  1. MJUPC-006_编程挑战系列赛第六场(以代码为文,贺国庆华诞) _F.原神:原石的优惠大礼包

    原题链接:MJUPC-006_F.原神:原石的优惠大礼包 F.原神:原石的优惠大礼包 题目描述 米哈游公司下的著名开发世界冒险类游戏--原神,正迎来发行一周年的庆典活动,正因如此,瞧中商机的黄牛们纷纷 ...

  2. STIPC-003_编程挑战系列赛第三场(柯柯的期末祝福) _E.公正的决赛

    原题链接:STIPC-003_E.公正的决赛 E.公正的决赛 题目背景 北京时间2021年6月16日凌晨,世预赛亚洲区A组末轮展开角逐,中国3-1击败叙利亚,成功晋级世预赛亚洲区12强赛. 题目描述 ...

  3. MJUPC-022_编程挑战系列赛第二十二场(以梦为“码“ “数“说未来)题解(C/C++代码)

    题目一:Hello MJUers 输出一个数学与数据科学学院(软件学院)社管中心科技部的Logo,做为打开MJUPC编程挑战系列赛大门的敲门砖. 此题为签到题,没有难度,但因Logo字符画中包含一些转 ...

  4. STIPC_编程挑战系列赛第一场(小郭的故事)_A.小郭最爱签到题

    原题链接:STIPC-001_A.小郭最爱签到题 A.小郭最爱签到题 题目背景 欢迎来到编程挑战赛第一场周赛! 我们是出题者--科创中心软件与程序设计兴趣小组. 我们的小组有三位技术骨干,这次的比赛中 ...

  5. 10h+技术干货 | 我们整理了过去六场机器人创新生态系列研讨会总结+专家干货,一次性带你看过瘾!

    2020年已经步入下半年,至今为止英特尔智能机器人产学研生态合作系列研讨会已完成了6场研讨会,在这总时长10h+的深度研讨会上,从智能零售为起点,走过人工智能.工业4.0.机器人.数据中台等多个领域, ...

  6. 在线练习题库python_有哪些 python 的在线练习题或编程挑战的网站?

    10个锻炼编程技能的网站,拿走不谢! 一.LeetCode(有中文) 力扣(LeetCode)源自美国硅谷,是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌.已经成为程序员找工作前必刷的网址 ...

  7. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  8. Java并发编程原理与实战六:主线程等待子线程解决方案

    Java并发编程原理与实战六:主线程等待子线程解决方案 参考文章: (1)Java并发编程原理与实战六:主线程等待子线程解决方案 (2)https://www.cnblogs.com/pony1223 ...

  9. 2017年最受欢迎的10个编程挑战网站

    译者注:如果你想不断地提高自己的编程技能,那么不断尝试去解决那些编程中的难题,这是一个非常不错的途径.作者在本篇文章中列举出了10个编程挑战网站,你想尝试一下吗?以下为译文. 如果你正在在学习编程,那 ...

最新文章

  1. 电气:电能扰动质量数据集模拟生成(matlab)
  2. OpenCASCADE绘制测试线束:简单的向量代数和测量之测量命令
  3. shell在指定目录下执行nohup_nohup:关闭shell程序依然执行
  4. java文件名大小_java 比较指定文件夹内.txt文件名的大小
  5. SAP Business Application Studio和Authentication Trust Management
  6. plsql存储过程修改后怎么保存_Solidity变量存储位置与gas成本详解
  7. pythonsys标准_python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出...
  8. Adobe illustrator 介绍几个快捷键 - 连载 8
  9. iBiology |除了B站,这还有个专业的生科科普网站
  10. pythonchallenge之C++学习篇-01
  11. SIM800 发送http请求AT指令
  12. 软考_2021年11月真题2__三点估算技术
  13. windows电脑桌面透明便签待办分类怎么添加
  14. python步态识别算法_深度学习在步态识别中的应用
  15. 认识异或运算的本质与基本规律,0^x=x,x异或x=0,有交换律,结合律,与顺序无关
  16. 用SSD也是一种性能提升手段
  17. JM模型I帧帧内预测流程
  18. Java 替换文件中的内容信息
  19. jetbrains rider 一直显示 syncing project templates
  20. 26岁,干了三年测试,月薪才12k,能跳槽找到一个更高薪资的工作吗?

热门文章

  1. 分段表rowid_表按ROWID切片
  2. android gps 室内,如何快速获取纬度和经度或GPS数据,而我们在室内的Android手机?...
  3. 强化学习入门 : 一文入门强化学习 (Sarsa、Q learning、Monte-carlo learning、Deep-Q-Network等)
  4. linux关闭显示器接口类型,Linux Mint 笔记本外接显示器,关闭笔记本显示器的方法...
  5. java中级面试题及答案,java线程安全面试题
  6. 《程序员修炼之道》读后感
  7. 哈工大计算机类的什么专业好,哈尔滨工业大学,一共有6个王牌专业,选哪个专业比较好...
  8. unity学习笔记-精灵集和精灵动画
  9. js在线预览pdf,doc,xls,jpg等文件
  10. Kali 2021.2 超详细安装教程及必要配置(新手向)