GESP编程共123题,本题是整站第1454题,已经有人完成了本题,加油!
商店里有 n 个武器,第 i 个武器的强度为 pi,花费为 ci。
小杨想要购买一些武器,满足这些武器的总强度不小于 P,总花费不超过 Q,小杨想知道是否存在满足条件的购买方案,如果有,最少花费又是多少。
第一行包含一个正整数 t,代表测试数据组数。
对于每组测试数据,第一行包含三个正整数 n,P,Q,含义如题面所示。
之后 n 行,每行包含两个正整数 pi,ci,代表武器的强度和花费。
对于每组测试数据,如果存在满条件的购买方案,输出最少花费,否则输出 -1
。
输入 #1
3 3 2 3 1 2 1 2 2 3 3 3 4 1 2 1 2 2 3 3 1000 1000 1 2 1 2 2 3
输出 #1
3 -1 -1
子任务编号 | 数据点占比 | n | pi | ci | P | Q |
---|---|---|---|---|---|---|
1 | 20% | ≤10 | 1 | 1 | ≤10 | ≤10 |
2 | 20% | ≤100 | ≤5×10^4 | 1 | ≤5×10^4 | 2 |
3 | 60% | ≤100 | ≤5×10^4 | ≤5×10^4 | ≤5×10^4 | ≤5×10^4 |
对于全部数据,保证有 1≤t≤10,1≤n≤100,1≤pi,ci,P,Q≤5×10^4。
【题目大意】有n个武器,每个武器有2种属性:强度和花费。买的武器强度要≥P,总花费≤Q。求满足条件下的最优花费。
【考纲知识点】动态规划知识
【解题思路】注意是多组测试数据,最多10组。可以没有答案,没答案时输出-1。按照题目要求,每个武器可选可不选,总花费不超过Q,相当于将01背包问题中的包的体积大小设置为 Q,此题是01背包类的问题。
本题的要点是熟悉01背包类型的动态规划求解。根据数据范围,注意结果是long long类型。
参考程序
本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。