Hero(2021-TRN1-N)

博客探讨了一种解决策略问题的贪心算法,具体场景是在游戏中面对一群敌人,需要通过攻击来最小化受到的总伤害。作者指出,关键在于根据攻击力与生命值的比例对敌人排序,而非单纯按攻击力。通过优先处理攻击力与生命值比值高的敌人,可以有效地降低受到的伤害。博客内容虽然针对特定问题,但突显了在解决复杂问题时贪心算法的应用思维。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hero(2021-TRN1-N)

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

题目大意

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

题目分析

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值