NUIST 9th 校赛 P4
NUIST 9th 校赛 P4
题目描述
每天我们都会思考一个令人纠结的难题:晚上吃什么。你打开手机想点个外卖,发现自己有一张满减优惠券快要过期了。
你选择了一家餐厅,这家餐厅一共有 N 道菜品,价格分别是 A1, A2, … , AN 元。只要消费满 X 元,就可以用掉这张优惠券。
你希望选择若干道 不同 的菜品,使得总价在不低于 X 元的同时尽量低。
为了用掉这张优惠券,你最少需要消费多少元?
输入描述
题目包含多组测试数据。第一行包括一个正整数 T,代表测试数据的组数。
接下来的输入,对于每组测试数据:
第一行包含两个整数 N 和 X (1 ≤ N ≤ 20, 1 ≤ X ≤ 100)
第二行包含 N 个整数 A1, A2, … , AN (1 ≤ Ai ≤ 100)
输出描述
对于每组测试数据,输出最少的消费。如果你把 N 道菜都买了还不能达到 X 元的优惠标准,输出 -1。
样例输入
2
10 50
9 9 9 9 9 9 9 9 9 8
3 30
9 9 9
样例输出
53
-1
这道题是一道DP。
状态转移方程 F[i][j] = min(f[i-1][j],f[i-1][j-value[i]] )+ value[i]
f[i][j] = min(f[i-1][j] ,value[i])
关键在于它是如何体现F[i][j] 一定不少于X元
把所有的值初始化为BigINT,j = 0 时 为 0,用递推思想理解即可。假设j不存在,那么j+value[i],也一定不存在,因为,前面的数无法到达j,j+value[i],也到达不了。理解了这个思想,很容易就想出:
for(int i = 1;i<=n;i++){for(int j = 1;j<=x;j++){if(j>=a[i][j]){dp[i][j] = min(dp[i-1][j],dp[i-1][j-a[i]]+a[i]);}else{dp[i][j] = min(dp[i-1][j],a[i]);}}}
空间复杂度为O(nx)时间复杂度(nx)
但是空间可以做出优化
for(int i = 1;i<=n;i++){for(int j = x;j>=1;j--){if(j>=a[i]){dp[j] = min(dp[j],dp[j-a[i]]+a[i]);}else{dp[j] = min(dp[j],a[i]);}}}
区别在于j要从后往前
NUIST 9th 校赛 P4相关推荐
- [置顶]2010年东北大学ACM程序设计竞赛冬季校赛题解
8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练. AC的题如下 NEUOJ 1112 I Love Apple Description So many people love app ...
- 2017校赛 问题 F: 懒人得多动脑
题目描述 小D的家A和学校B都恰好在以点F为焦点的双曲线上,而小D每日所需的生活水源在一条平行该双曲线准线的直线上,设它的值为v.大家都知道,每天都是要喝水的,但是小D有点懒,他希望自己能在去上学或者 ...
- 关于安徽赛区推广校赛的实施办法
关于安徽赛区 推广校赛的实施办法 全国组委会: 安徽赛区作为第一个省级赛区自2010年举办至今,受到安徽省教育厅和安徽各高校高度认可,是安徽省教育厅重点支持的大学生学科和技能竞赛A类赛事.但安徽赛 ...
- 第18届浙江大学校赛 Mergeable Stack
The 18th Zhejiang University Programming Contest Sponsored by TuSimple 第18届浙江大学校赛的c题 解析:起先是用stack写的模 ...
- 21-5-22校赛J 下围棋
21-5-22校赛J 下围棋 给出一个节点个数为n的树,其根节点为1,两个人轮流操作,每一次操作可以选择一个非根节点,删除这个节点及其子树,当一个人无法进行操作的时候,他就输掉了.问后手是必胜还是必败 ...
- 21-5-22校赛G 自行车调度
21-5-22校赛G 自行车调度 n个点,m条边的无向带正权图(编号1到n).每个点初始有a[i](0<=a[i]<=1e5,1<=i<=n)辆自行车,自行车管理员可以花费一个 ...
- 2018 java蓝桥杯校赛题目
1.[问题描述] 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一 ...
- BZOJ 3093: [Fdu校赛2012] A Famous Game
3093: [Fdu校赛2012] A Famous Game Time Limit: 1 Sec Memory Limit: 128 MB Submit: 248 Solved: 133 [Su ...
- 三农电子商务创业创新大赛作品_全国大学生电子商务“创新、创意及创业”挑战赛五邑大学校赛...
大赛简介 第十届全国大学生电子商务"创新.创意及创业"挑战赛(简称"三创赛")是由全国电子商务创新产教联盟主办,由"三创赛"竞赛组织委员会统 ...
最新文章
- 苹果笔记本中为虚拟机扩充硬盘的方法
- 按钮右对齐_9张图,学会Excel中的对齐技巧
- 一起教育科技携手神策数据,数据赋能智能教育新时代
- 史上卖得最多的芯片......原来是这个!
- php使用ftp远程上传文件类(解决主从文件同步问题的简单方法)
- java final date_Java中的时间和日期(上)
- 完美解决:Could not open the editor: Editor could not be initialized
- centos7 网卡配置vlan_Centos7单网卡带VLAN多IP配置
- 一名计算机教师的年度教学总结
- cur前缀_每个人必知的英语前缀大全
- VScode前进后退快捷键
- 10个有趣且易上手的AI项目(附Python源代码)
- python对英雄皮肤进行图片采集~
- 实训一 古诗横竖输出
- silverlight 无法启动调试 数据无效
- java入门基础学习
- 视频教程-OpenGL入门2019版-其他
- Python3改变cmd(命令行)输出颜色
- 支付宝微信扫码支付调研
- AUTOCAD(二)电脑桌绘制立面图
热门文章
- iWO(联通3G详单及套餐使用情况查询工具)更新至v0.7
- JAVA面试问答 NOTE2
- 全球海底光缆分布图-Submarine Cable Map
- MySQL 1226 User 'root' has exceeded the 'max_questions' resource解决办法
- windows小技巧---复制百度文库vip内容/解决微信文件过大
- 如何利用淘宝快速推广新品牌
- ACR Loss: Adaptive Coordinate-based Regression Loss for Face Alignment
- HTML罕见的冷门标签
- discuz论坛图片无法显示之图片流问题
- html语言全拼,html标签全拼意思是什么