巨石贪心

「土」巨石滚滚

https://ac.nowcoder.com/acm/problem/53681

总结一下整个的思路

贪心的排序: 1.将表现为恢复的障碍物放前头,表现为扣血的障碍物放后头,是为了能有更好的状态面对障碍物。 2.前头的具体排序:由于每一个障碍物都表现为恢复,同样是为了能有更好的状态面对障碍物,所以a大的放后头。 3.后头的具体排序: 思路历程: ①:一直在扣血,那么将a大的放前面尽早解决,先啃硬骨头。(忽略了b带来的影响) 否定:啃完恢复的少了,那没那么硬的骨头你也啃不掉了。 7 1 5 3如果有10滴血,打完后者能打前者,打完前者打不了后者了。

②:保留最好的状态去打下一个人,即把扣的血a-b少的放前面。 否定:关键不仅在于有更好的状态,而且还要能打赢下一个a。(忽略了a带来的影响) 1 0扣的血:-1. 7 5扣的血:-2.如果有7滴血,打完前者打不了后者了,打完后者还能打前者。

将思路放到能不能打赢的边界,即AB能打赢,BA就打不赢了。

那么设立a1 b1,a2 b2,如果AB能打赢,BA就打不赢了,

那么会满足:AB受到的伤害<ba受到的伤害,即公式:a1-b1+a2<a2-b2+a1 ### 化简为:b1>b2

将b大的放前头,才能不死,这就是当下最优解延伸出的全局最优解。</ba受到的伤害,即公式:a1-b1+a2<a2-b2+a1>

全部评论
太牛了
点赞 回复 分享
发布于 2021-04-12 17:57
谢谢大佬
点赞 回复 分享
发布于 2021-08-18 18:06
大佬厉害!!
点赞 回复 分享
发布于 2022-01-02 21:06
%%%
点赞 回复 分享
发布于 2024-02-23 16:17 湖南

相关推荐

01-15 13:52
已编辑
河南大学 Java
CoderEcho:牌子✌🏻
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
10
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务