Acwing 125. 耍杂技的牛
做完这个题之后 C - Reindeer and Sleigh 2,就想起来之前做的 125. 耍杂技的牛这个题了。
知识点: 贪心
分析:
这个题的数据也是重量和力量,风险值(一头牛支撑不住的可能性)取决于它头上所有牛的总重量减去它的身体强壮程度的值
这里把该牛上方 k 头牛的体重 w 求和与自身的强壮值 s 相减。
要得到最大风险值的最小可能值, 这句话可能比较难懂,就是要让所有牛的风险值最小,然后在这些最小的风险值中找一个最大的,我的想法是让下面的牛越强壮越好,上面的牛越轻越好(反过来就是下面的牛越重越好),这样的话就是使
证明:
我们假设第 i 位上的牛的
这里假设第 i 头牛是在第 i+1 头牛的上面。
按我们的想法当上面的牛的
| 第 i 位上的牛 | 第 i+1 位上的牛 | |
|---|---|---|
| 交换前 | ||
| 交换后 |
交换后第 i+1 位上的牛上升,所以加上 w[i+1]。
再来分析一下风险值,我们可以看出四个值都带有
| 第 i 位上的牛 | 第 i+1 位上的牛 | |
|---|---|---|
| 交换前 | ||
| 交换后 |
很容易得到
现在只需要比较
当
当
由此可以得出当上面的牛的
代码实现:
1 |
|
欢迎来我的公众号参观,公众号文章链接
- 标题: Acwing 125. 耍杂技的牛
- 作者: Lionlnuc
- 创建于 : 2025-12-31 00:00:00
- 更新于 : 2025-12-31 00:00:00
- 链接: https://lionlnuc.github.io/2025/12/31/Acwing 125. 耍杂技的牛/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论