贪心。数组都不用开那种。

考虑跑步距离的构成。发现跑步只有三种情况构成

  • 休息
  • 传送
  • 朴素地跑

显然,如果可以传送,我们就不要朴素地跑步。因为\(17\le 60 \div 2 =30\)。

假如我们知道了传送的次数,花费的时间是确定的。

于是问题变成了,我们有多少魔法值去传送。

考虑魔法值的构成是

  • 给定的\(M\)
  • 休息的时间\(t \times 4\) , \(t \le T \le 300000\)

发现\(T \le300000\) 直接枚举 \(t\)。

把注释变成变量名了。就不给注释了。


#include<iostream>
using namespace std;
int T,S,M,ans=0x3f3f3f3f,maxd=0;
int main(){
cin>>M>>S>>T;
for(int t=0;t<=T;t++){
int ap=M+(t<<2);
int skip_times=ap/10;
//T-i : total_rest_time
int real_skip_times=min(skip_times,T-t);
int rest_time_left=T-t-real_skip_times; int skip_dis=real_skip_times*60;
int run_dis=rest_time_left*17; if(skip_dis>=S)
ans=min(ans,(S-1)/60+t+1);
if(run_dis+skip_dis>=S)
ans=min(ans,real_skip_times+t+(S-skip_dis-1)/17+1);
maxd=max(maxd,run_dis+skip_dis);
}
if(ans<=T)
cout<<"Yes\n"<<ans<<endl;
else
cout<<"No\n"<<maxd<<endl;
return 0;
}

题解 P1095 【守望者的逃离】的更多相关文章

  1. P1095 守望者的逃离

    P1095 守望者的逃离 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这 ...

  2. luogu -P1095 守望者的逃离 - 分别DP

    P1095 守望者的逃离: https://www.luogu.org/problemnew/show/P1095 题意: 有一个人要在S长度的直线上跑过去,初始有M的魔法值,用10点魔法值可以在一秒 ...

  3. 洛谷P1095守望者的逃离题解-伪动态规划/贪心

    链接 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很 ...

  4. 【洛谷】P1095 守望者的逃离(递推)

    题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会 ...

  5. P1095 守望者的逃离——DP?贪心?

    https://www.luogu.org/problem/P1095 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大 ...

  6. luogu P1095 守望者的逃离

    题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会 ...

  7. 洛谷 P1095 守望者的逃离

    题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会 ...

  8. 洛谷——P1095 守望者的逃离

    https://www.luogu.org/problem/show?pid=1095#sub 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交 ...

  9. luogu P1095守望者的逃离【dp】By cellur925

    题目传送门 考虑dp,设f[i]表示到第i时间,能到达的最远距离.因为题目涉及了三种操作:1,补血消耗魔法值:2, 等待增加魔法值:3,直接向前走.而1,3和2,3的操作是可以同时进行没有冲突的,所以 ...

  10. codevs 1144 守望者的逃离

    传送门 1144 守望者的逃离 2007年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解   题目描述 Description 恶 ...

随机推荐

  1. Jenkins内存溢出的处理方法

    参考:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html上的说明,有如下解释: -Xms ...

  2. Delphi中@,^,#,$分别表示什么?

    @:取址运算符; var int:integer; p:^integer; new(P); int:=24; p:=@int; dispose(P); ^:指针的引用解析操作符; var pint:^ ...

  3. meta 标签大全

    相信在html5之前,很少人会关注html页面上head里标签元素的定义和应用场景,可能记得住的只有"title"."keyword"和"descri ...

  4. 通过Java的Domain类构建ElasticSearch的mapping

    通过给定一个Java的class类自行创建ElasticSearch的mapping Order的domain类 public class Order { public String system_i ...

  5. java基础篇1之可变参数,增强for循环,自动装箱

    1.java中可变参数应用 例如 add(int x,int... args) 1)只能放在参数列表的最后面 2)...位于变量类型和变量名之间,前后有无空格都可以 3)调用可变参数的方法时,编译器为 ...

  6. windows下用vscode写C++

    [本文参考:https://www.cnblogs.com/zhuzhenwei918/p/9057289.html  和 https://www.zhihu.com/question/3031589 ...

  7. Linux学习之十四-Linux文件和目录权限

    Linux文件和目录权限 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允 ...

  8. Linux后台进程管理(转)

    fg.bg.jobs.&.ctrl + z命令一. &加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &,二.ctrl + z可以将一个正在前台执行的命令放到后台 ...

  9. OpenReadWithHttps

    ///<summary>///采用https协议访问网络///</summary>///<param name="URL">url地址</ ...

  10. 重装系统后恢复wubi安装的Ubuntu(未实测)

     wubi安装成功,但是后来windows系统重装了,如何修复ubuntu系统的引导?[另外完全可以复制别人的wubi安装的ubuntu,但是要放在同一个盘符下]  将X:/ubuntu/winboo ...