博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[暴力][贪心]JZOJ 5937 斩杀计划
阅读量:6564 次
发布时间:2019-06-24

本文共 1144 字,大约阅读时间需要 3 分钟。

Description

        众所周知,小J和小G是死对头,一天小G带领一群小弟找到了小J。
问题描述
        小G有n个小弟,第i个小弟有ai点攻击力,小G有m点血量。
        小J在小G找小第的时间里去找小Z学到了膜法,他在大战前配置了三种魔法药水
        1:复用型药水:花费1法力值,选择小G的攻击力小于等于2的一个小弟让他跟随自己(变为自己的小弟并且攻击力和属于小G时一样)
        2:猎人药水:花费4法力值,选择小G的攻击力小于等于3的一个小弟让他跟随自己
        3:腐败药水:花费1法力值,使小G所有小弟攻击力降低三点(使用前两种魔法将小弟拉到自己阵营时小弟攻击力就是当前的攻击力,即小J的小弟攻击力只能为1,2,3)
        为了向小G展现自己的力量,他打算在召集到一些小弟后发动攻击(每个小弟打一次)直接秒杀小G(攻击力大于等于m)
        由于智商有限,小J在配置腐败药水时会花费很大精力,他需要知道自己最少使用多少腐败药水,并在腐败药水数量最小的情况下花费最小的法力值
 

Input

第一行两个正整数n,m表示小G的小弟数量和血量
第二行n个正整数表示小G所有小弟的攻击力

Output

        一行两个整数表示最小的腐败药水数量和在腐败药水最小的情况下法力值花费,如果无论如何都无法战胜,输出一个整数-1
 

Sample Input

Sample Input1:3 51 2 3Sample Input2:8 810 20 30 40 50 60 70 80Sample Input3:8 8010 20 30 40 50 60 70 80

Sample Output

Sample Output1:0 5样例说明        对2,3小弟使用复用型药水和猎人药水Sample Output2:16 23样例说明使用16个腐败药水在第3个腐败药水时拉10,攻击力为1在第6个腐败药水时拉20,攻击力为2在第9个腐败药水时拉30,攻击力为3在第16个腐败药水时拉50,攻击力为2Sample Output3:-1
 

Data Constraint

数据规模和约定
测试点1,2: n≤10并且最优情况不需要使用腐败药水和猎人药水
测试点3,4: n≤10并且最有情况不需要使用腐败药水
测试点5,6,7: n≤10
测试点8,9,10: n≤5000000,最大攻击力小于等于30000
对于所有数据 0≤m≤5000000

分析

我们发现攻击力才10^4范围,那我们可以建一个桶,统计攻击力为x的随从有多少个

然后枚举腐败药水使用次数,达到目标即退出循环,然后贪心删去攻击力为3的随从(显然亏),然后删去攻击力为1的最后删2即可

 

转载于:https://www.cnblogs.com/mastervan/p/9901248.html

你可能感兴趣的文章
A*算法实现
查看>>
第一周 从C走进C++ 002 命令行参数
查看>>
【java】itext pdf 分页
查看>>
看看这个电脑的配置
查看>>
[转]【NoSQL】NoSQL入门级资料整理(CAP原理、最终一致性)
查看>>
RequireJS进阶(二)
查看>>
我设计的网站的分布式架构
查看>>
linux extract rar files
查看>>
Knockout.Js官网学习(监控属性Observables)
查看>>
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决
查看>>
azure之MSSQL服务性能测试
查看>>
Android BitmapFactory.Options
查看>>
前端构建:Less入了个门
查看>>
phonegap(cordova) 自己定义插件代码篇(三)----支付宝支付工具整合
查看>>
linux 批量进行:解压缩某一类压缩文件类型的文件
查看>>
激活modelsim se 10.4 时运行patch_dll.bat不能生成TXT
查看>>
17秋 软件工程 Alpha 事后诸葛亮会议
查看>>
线性空间
查看>>
疑似checkpoint堵塞数据库连接
查看>>
Node.js中针对中文的查找和替换无效的解决方法
查看>>