P1095

题目描述
恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为17m/s17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s1s内移动60m60m,不过每次使用闪烁法术都会消耗魔法值1010点。守望者的魔法值恢复的速度为44点/s/s,只有处在原地休息状态时才能恢复。
现在已知守望者的魔法初值MM,他所在的初始位置与岛的出口之间的距离SS,岛沉没的时间TT。你的任务是写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不能逃出,则输出守望者在剩下的时间内能走的最远距离。注意:守望者跑步、闪烁或休息活动均以秒(s)(s)为单位,且每次活动的持续时间为整数秒。距离的单位为米(m)(m)。
输入格式
共一行,包括空格隔开的三个非负整数M, S, TM,S,T。
输出格式
共两行。
第11行为字符串“YesYes”或“NoNo”(区分大小写),即守望者是否能逃离荒岛。
第22行包含一个整数。第一行为“YesYes”(区分大小写)时表示守望者逃离荒岛的最短时间;第一行为“NoNo”(区分大小写)时表示守望者能走的最远距离。
输入输出样例
输入 #1 复制
39 200 4
输出 #1 复制
No
197
输入 #2 复制
36 255 10
输出 #2 复制
Yes
6
说明/提示
30%的数据满足:1 \le T \le 10, 1 \le S \le 1001≤T≤10,1≤S≤100
50%的数据满足:1 \le T < \le 1000, 1 \le S \le 100001≤T<≤1000,1≤S≤10000
100%的数据满足:1 \le T \le 300000,0 \le M \le 1000, 1 \le S \le 10^81≤T≤300000,0≤M≤1000,1≤S≤10
8
.

80%

二维DP,O(n*n)

#include<bits/stdc++.h>
using namespace std;
int n,t,s;
map<int ,int>dp[350000];//前i秒,有j能量,最大距离
int main()
{cin>>n>>s>>t;if(n>=10)//初始化{for(int i=1;i<=n-10;i++)dp[1][i]=60;for(int i=n-9;i<=n;i++)dp[1][i]=17; }else for(int i=1;i<=n;i++)dp[1][i]=17;if(s<=60&&n>=10)//特判{cout<<"Yes"<<endl<<1;return 0;}for(int i=2;i<=t;i++){for(int j=0;j<=n;j++){dp[i][j]=dp[i-1][j]+17;//walkdp[i][j]=max(dp[i][j],dp[i-1][j-4]);//breakif(dp[i-1][j+10])dp[i][j]=max(dp[i][j],dp[i-1][j+10]+60);//runif(dp[i][j]>=s)//arrive cout{cout<<"Yes"<<endl<<i;return 0;}}}int ans=0;for(int j=0;j<=n;j++)//can not arriveans=max(dp[t][j],ans);cout<<"No"<<endl;cout<<ans;return 0;

code 100%

#include <cstdio>
#include <algorithm>
using namespace std;
int dp[300001];
int main(){int m,s,t;scanf("%d%d%d",&m,&s,&t);for(int i=1;i<=t;i++){//处理闪烁法术if(m>=10)dp[i]=dp[i-1]+60,m-=10;//如果能用,就用else dp[i]=dp[i-1],m+=4;//否则休息}for(int i=1;i<=t;i++){dp[i]=max(dp[i],dp[i-1]+17);//处理跑步,dp[i]为使用法术和跑步的最大值(最优)if(dp[i]>=s){printf("Yes\n%d",i);return 0;}//如果超过了距离s,就成功了,输出yes}printf("No\n%d",dp[t]);//没成功,输出noreturn 0;
}

P1095 守望者的逃离相关推荐

  1. 【每日DP】day 5、P1095 守望者的逃离(好像悟到了DP的真谛)难度⭐⭐★

    P1095 守望者的逃离 输入 39 200 4 输出 No 197 输入 36 255 10 输出 Yes 6 好像悟到了DP的真谛(doge) 动态规划,就是动态地维护当前的状态. 本题种状态是距 ...

  2. 洛谷 P1095 守望者的逃离 题解 (附题目)

    注:题目解析及代码请往下拉,题面如下: 题面 P1095 [NOIP2007 普及组] 守望者的逃离 题目描述 守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上. 为了杀死守望者,尤迪安开始 ...

  3. 洛谷P1095 守望者的逃离 dp

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

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

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

  5. 洛谷P1095 守望者的逃离 (从未感觉DP如此清晰, 所以这是DP吗2333)

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

  6. 洛谷 P1095 守望者的逃离

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

  7. P1095 [NOIP2007 普及组] 守望者的逃离(简单算法

    P1095 [NOIP2007 普及组] 守望者的逃离 题目 一.思路 二.代码 1.引入库 2.读入数据 3.主函数 4.最后贴一下完整代码 总结 题目 传送门 [NOIP2007 普及组] 守望者 ...

  8. 守望者的逃离(洛谷P1095)

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

  9. NOIP200703守望者的逃离 题解

    NOIP200703守望者的逃离 题解 题目 链接 字面描述 题目背景 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输出 #2 提示 思路 ...

最新文章

  1. 十分钟带你入门最具Python风格的Gui库
  2. Tomcat中的线程池(APR和ThreadPool)
  3. Java IDE——Eclipse下载与安装
  4. 一文带你全面了解电商在线支付
  5. XML数据读取——Digester简单使用
  6. 【学生选课系统经典】C#与SQLSERVER连接:Windows应用工程案例
  7. 机器学习项目(四)疫情期间网民情绪识别
  8. DATEDIFF 函数使用
  9. C# 获取COM控件注册状态,注册以及反注册COM控件
  10. 用vue.js重构订单计算页面
  11. 在C#中将字符串转换为字节数组
  12. 【NOIP2018】游记
  13. Unity3D游戏开发之MMD For Unity插件研究
  14. sketch八款设计插件,画图效率翻倍
  15. 如何将已购kindle电子书转换成pdf格式阅读
  16. 做PPT别再傻乎乎的直接插入图片了,手把手教你处理毛玻璃式图片
  17. CAD中插入外部参照字体会变繁体_CAD绘图外部参照的使用方法
  18. 微信小程序canvas简单使用
  19. ACL 2020 | 特定风格标题生成《Hooks in the headline》论文阅读笔记
  20. 微信小程序-----解决swiper默认高度150px

热门文章

  1. execute immediate的语法
  2. Linux(4):文件属性
  3. 听说,ChatGPT 要跟打工人们抢饭碗,是真的吗?
  4. [魔方]手部极限运动
  5. 服装产业发展趋势|供应链|智能制造
  6. Ideal 调出服务控制台
  7. 2021-09-18 练习制作聚美优品页面
  8. ArcGIS中的一些影像格式:.ige .img .rde .rrd
  9. GATK Cromwell +WDL学习
  10. mysql 子表_MySQL子查询,派生表和通用表达式