Hero(2021-TRN1-N)

Hero(2021-TRN1-N)

看破思路以后这题啥都不是,(于是就不附上代码好了)

题目大意

传送门
大意是说:面前有一群敌人,已知他们的血量和每次攻击的伤害,假设你血量无限,每一次攻击可以对一个敌人造成一点伤害,试求敌人对你的伤害的最小值。
(注意:你攻击一次的同时,所有的敌人会同时攻击你,伤害累加)

题目分析

都知道要贪心,关键是用什么去贪心。
(由于好久没打游戏了) 我一开始想的是:按照攻击力递减,攻击强的要先干掉,不然威胁巨大。
但是,很容易就举出反例(左边攻击,右边生命值)
4 1
5 5
2 9
这是我们会发现,生命值和攻击力是相左的两个因子。
生命值越低,攻击力越高,才要优先解决。(就像你打boss的时候要及时清理周围的小兵一样)
所以我们定义一个变量x=攻击力/生命值
按照这个降序排序处理即可

(不过这题还是有点特殊了,普遍意义不大,没有太大意思)

猜你喜欢

转载自blog.csdn.net/booniebears/article/details/113002321