洛谷P4995【 跳跳!】 题解

一看题目名字,下意识地认为DP。

打开题目,发现是一道水的贪心,和DP没一分钱关系(毕竟是洛谷最水月赛的T2)。

废话不多说。

看完题面,首先想到排序。要将乱序的石头高度变为有序,才能更好地想题。

C++排序代码:

sort(a+1,a+1+n);//STL大法好!

因为要使耗费的体力值最大,所以距离肯定要最长。

又因为地面高度是0,所以肯定要跳到最高的一块石头上才能耗费最多的体力值。

跳到最高的石头上后,为了耗费更多的体力值,就应该跳到距离这块石头最远的石头上,也就是除地面外最矮的一块石头。

跳到除地面外最矮的石头上后,为了耗费更多的体力值,就应该跳到第二高的石头上。

…………以此类推

注意:虽然n很小,但是石头的高度很高,所以应该用long long类型(比赛时我被坑了……),就有了OIer最爱说的一句话:十年OI一场空,不开long long见祖宗。

(扯多了……)

于是我们就有了下列代码:

#include<bits/stdc++.h>//万能头文件,训练时可以用,但在比赛时不
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值