洛谷P1095 守望者的逃离 dp
https://www.luogu.org/problem/P1095
题目描述恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为17m/s17m/s17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s1s1s内移动60m60m60m,不过每次使用闪烁法术都会消耗魔法值101010点。守望者的魔法值恢复的速度为444点/s/s/s,只有处在原地休息状态时才能恢复。现在已知守望者的魔法初值MMM,他所在的初始位置与岛的出口之间的距离SSS,岛沉没的时间TTT。你的任务是写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不能逃出,则输出守望者在剩下的时间内能走的最远距离。注意:守望者跑步、闪烁或休息活动均以秒(s)(s)(s)为单位,且每次活动的持续时间为整数秒。距离的单位为米(m)(m)(m)。输入格式共一行,包括空格隔开的三个非负整数M,S,TM, S, TM,S,T。输出格式共两行。第111行为字符串“YesYesYes”或“NoNoNo”(区分大小写),即守望者是否能逃离荒岛。第222行包含一个整数。第一行为“YesYesYes”(区分大小写)时表示守望者逃离荒岛的最短时间;第一行为“NoNoNo”(区分大小写)时表示守望者能走的最远距离。输入输出样例输入 #1 复制 39 200 4
输出 #1 复制 No
197
输入 #2 复制 36 255 10输出 #2 复制 Yes
6
思路:一直在想怎么贪心,其实用 d p dp dp非常简单巧妙,把法术和移动分开计算就好了。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;const int maxn=3e5+5;int m,s,t;
int dp[maxn];int main()
{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;elsedp[i]=dp[i-1],m+=4;}for(int i=1;i<=t;i++)dp[i]=max(dp[i],dp[i-1]+17);if(dp[t]<s)printf("No\n%d\n",dp[t]);else{for(int i=1;i<=t;i++){if(dp[i]>=s){printf("Yes\n%d\n",i);break;}}}return 0;
}
洛谷P1095 守望者的逃离 dp相关推荐
- 洛谷 P1095 守望者的逃离 题解 (附题目)
注:题目解析及代码请往下拉,题面如下: 题面 P1095 [NOIP2007 普及组] 守望者的逃离 题目描述 守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上. 为了杀死守望者,尤迪安开始 ...
- 洛谷P1095 守望者的逃离 (从未感觉DP如此清晰, 所以这是DP吗2333)
恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去.到 ...
- 洛谷P1095守望者的逃离题解-伪动态规划/贪心
链接 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很 ...
- 洛谷 P1095 守望者的逃离
题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会 ...
- 【每日DP】day 5、P1095 守望者的逃离(好像悟到了DP的真谛)难度⭐⭐★
P1095 守望者的逃离 输入 39 200 4 输出 No 197 输入 36 255 10 输出 Yes 6 好像悟到了DP的真谛(doge) 动态规划,就是动态地维护当前的状态. 本题种状态是距 ...
- 守望者的逃离(洛谷P1095)
守望者的逃离 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒, ...
- 洛谷 P1063 能量项链 区间dp
洛谷 P1063 题意:在一串项链中,是环状的,第 i 颗珠子有两个能量a[i]和a[i+1],第i+1颗珠子有两个能量a[i+1]和a[i+2],可以合并两个珠子,得到a[i]*a[i+1]*a[i ...
- [洛谷P1095]NOIP2007 普及组T3 守望者的逃离
问题描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会 ...
- P1095 守望者的逃离
P1095 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这 ...
最新文章
- 用php计算自由落体,js模仿物理中的自由落体现象
- Shiro内置的FilterChain
- 通过XML设置屏幕方向(android:screenOrientation)详解
- openvc学习笔记(4)——两种方法在没有环境下运行程序
- 最近幻影的两个ARP欺骗工具 挺不错的
- jpg转dwg格式转换器_aac转mp3格式转换器怎么使用
- Oracle数据库空间突然增大,Oracle数据库突然宕机,处理方案
- 单点登录(SSO)解决方案之 CAS服务端数据源设置及页面改造
- 电脑广告太多,请避免安装这些软件
- 6 EDA技术实用教程【基础知识2】
- 老罗android开发视频教程学习完了
- Invalid url-pattern /admin/*.jsp in filter mapping
- Win10设置双网卡优先级
- 为什么Elipse里面新建的Web Project项目里没有Webroot目录
- 十大算法简单介绍以及例题
- 2021信息安全工程师学习笔记(四)
- xshell (sed 命令)
- ACP 云计算试题集
- 新手指南: Linux 新手应该知道的 26 个命令
- 基于ensp的网络设计【实现网络互联、限制访问、内外网地址转换】