题源HDU-1248

HDU-1248-寒冰王座

Description
不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前.
死亡骑士:“我要买道具!”
地精商人:“我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个.”
死亡骑士:“好的,给我一个血瓶.”
说完他掏出那张N元的大钞递给地精商人.
地精商人:“我忘了提醒你了,我们这里没有找客人钱的习惯的,多的钱我们都当小费收了的,嘿嘿.”
死亡骑士:"…"
死亡骑士想,与其把钱当小费送个他还不如自己多买一点道具,反正以后都要买的,早点买了放在家里也好,但是要尽量少让他赚小费.
现在死亡骑士希望你能帮他计算一下,最少他要给地精商人多少小费.

Input
输入数据的第一行是一个整数T(1<=T<=100),代表测试数据的数量.然后是T行测试数据,每个测试数据只包含一个正整数N(1<=N<=10000),N代表死亡骑士手中钞票的面值.
注意:地精商店只有题中描述的三种道具.

Output
对于每组测试数据,请你输出死亡骑士最少要浪费多少钱给地精商人作为小费.

Sample Input
2
900
250

Sample Output
0
50

题意

  • 输入一个T代表有T组数据
  • 每组数据输入一个v代表死亡骑士手中钞票的面值
  • 现能购买无数件150或200或350元的商品,不找零,多出的额度算作小费
  • 每组数据输出最少给多少小费

题解

  • 这是完全背包模板题,对模板进行微改即可
  • 不同的是商品数量价格无需输入,数量是3,cost从1到3直接赋值即可
  • 完全背包函数内部返回值是得给多少小费,所以用钞票面值(v)减最多购买商品总值(dp[v])即可

涉及知识点

  • 背包 算法(此题属于完全背包)
  • 对于背包的算法-详见链接博客介绍背包

AC代码

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxn=1e4+10;
int T,n,v,value[maxn],cost[maxn],dp[maxn];
int knapsack_full()
{memset(dp,0,sizeof(dp));for(int i=1;i<=n;++i){for(int j=cost[i];j<=v;++j){dp[j]=max(dp[j],dp[j-cost[i]]+cost[i]);}}return v-dp[v];
}
int main()
{scanf("%d",&T);while(T--){n=3;cost[1]=150;cost[2]=200;cost[3]=350;scanf("%d",&v);printf("%d\n",knapsack_full());}return 0;
}

#2020.02.04训练题解#背包入门(E题)相关推荐

  1. #2020.02.05训练题解#最小生成树入门(F题)

    题源CF-1108 CF-1108-MST Unification Description You are given an undirected weighted connected graph w ...

  2. 2020.02.04 14:30

    新型冠状病毒疫情已经两三周了,在家呆了10天,今天回到北京,发现坐下来没什么可做的,准备洗洗,希望疫情早点过去,自己唯一能帮上忙的就是不瞎走动,不给医务人员添乱

  3. NEFU 大一寒假训练十二(set)2020.02.18

    Summary 可能是昨天的题少了一些,今天的题多了一堆,还疯狂TLE /(ㄒoㄒ)\~~ Information No. Title AC/Submit A 明明的随机数-set 60/101 B ...

  4. 【364天】跃迁之路——程序员高效学习方法论探索系列(实验阶段122-2018.02.04)...

    实验说明 从2017.10.6起,开启这个系列,目标只有一个:通过探索新的学习方法,用2年的时间,实现2.5倍速的成长,获得普通程序员>= 5年的技术水平. 实验期2年(2017.10.06 - ...

  5. C/C++描述 第十一届蓝桥杯省赛 C/C++ 大学C组 第一场(2020.7.5) 题目+题解

    C/C++描述 第十一届蓝桥杯省赛 第一场(2020.7.5) 题目+题解   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓 ...

  6. 动规日常训练题解 难度普及+

    9.6 动规训练  题解 ----Frosty_Jackal 定义Dpmax[i][j] 表示l~r之间最大的得分,由题意得拆环为链,将1~n的枚举范围扩大到1~2*n ,外层枚举区间长,内层枚举l, ...

  7. 2019/4/2UPC团队训练题解(A,B,E,G,I,K,L)加补题(C,D)

    问题 A: 篮球队选拔 时间限制: 1 Sec  内存限制: 128 MB 提交: 501  解决: 188 [提交] [状态] [命题人:外部导入] 题目描述 云南中医学院坐落于风景秀丽.四季如春的 ...

  8. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  9. 面试题 02.04. 分割链表

    面试题 02.04. 分割链表 编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前.如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示).分割元素 x ...

最新文章

  1. gbase 导出_GBase 8a导出本地文件时多了目录,gbase_export_directory参数用处
  2. WindowsServer2012史记7-茴香豆的五种写法和四种”显示计算机”的方法
  3. Linux文件类型有哪些?
  4. python tkinter控件_python GUI作业:使用tkinter的重要控件
  5. Visibiltity:none与Display:none区别
  6. HDU 6155 Subsequence Count(矩阵乘法+线段树+基础DP)
  7. vue index.php,如何解决vue $index报错问题
  8. python添加重复元素_在Python 3.6中添加迭代时重复元素
  9. homebrew osx下面最优秀的包管理工具
  10. SSM(Spring+springMVC+MyBatis)框架-springMVC实现图片上传
  11. 中兴C93E全光网配置
  12. 为什么docker的端口映射需要开启ip转发功能?
  13. COOC+VOSviewer可取代任何文献计量与知识图谱软件
  14. HCIA STP的端口状态与BPDU
  15. 标签打印软件如何设置不规则标签纸
  16. i910980hk和r9 4900h哪个好
  17. week 9 A目录
  18. SOCKET学习第三阶段(SELECT模型)
  19. 【初入前端】第四课 课前预习
  20. 理解torch.einsum(‘ijk,ilk->ijl‘, a,b)

热门文章

  1. python画史迪仔_Python turtle画图 使用python turtle库实现了动漫人物史迪仔的绘制 - 下载 - 搜珍网...
  2. python十进制小数转二进制_关于十进制小数转二进制的入门教程
  3. 《战争论》的集中兵力与游击战的分…
  4. python查询可转债中签
  5. linux-查看gpu进程and杀死进程
  6. FPGA学习(1)NCO产生任意三角波、方波
  7. Serverless概述
  8. mpf7_CBOE VIX Volatility derivatives_SP 500 Index_near_next option_Why log return_Kurtosis_Skew_OLS
  9. 微信小程序自定义tabbar【中间凸起样式】
  10. 如何安装使用Clion