JZOJ 5937. 【NOIP2018模拟10.30】斩杀计划

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huangjingyuan107/article/details/83573903

问题

    小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在配置腐败药水时会花费很大精力,他需要知道自己最少使用多少腐败药水,并在腐败药水数量最小的情况下花费最小的法力值。

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

题解

做这种题,心急是一大忌。 感觉分类讨论的情况很多。 整场比赛我因为这道题目,慌了。整个比赛的节奏乱了。 总而言之,清零,前面的东西,不要想太多。 从样例中可知,要使得腐败药水用得最少,首先将能收的小弟全收了。 这个时候的m可能被减成了负数。 说明小弟可能带多了,要删掉性价比不高的。 显然,将3删完了,再删1,最后删2. 小弟怎么收,桶排就好了。

猜你喜欢

转载自blog.csdn.net/huangjingyuan107/article/details/83573903