洛谷P1095 绝地武士的逃离
好吧原题是守望者的逃离,我强行改了一波题面,因为信仰=-=(?
May the force be with us.
绝地跑步速度为17m/s,但无法逃离荒岛。绝地的原力恢复速度为4点/s,只有处在原地才能恢复
绝地神行术需消耗10点原力,使用神行术,一秒可移动60m
已知绝地的魔法初值为M,所在的初始位置与岛的出口之间的距离为S,岛沉没的时间为T,计算绝地用多久才能逃离荒岛,若不能逃出,输出守望者剩下的时间走的最远的距离
当不能逃出时,我们要求最远距离
那么我们将子问题化为f[i]表示在第i秒时的最远距离
因为是求当前状态的最远距离,很显然的要用当前状态的所有前置状态转移
对于每一秒,绝地大师有3中可能行动:
1.停在原地恢复原力
2.使用神行术,花费10点原力(所以有限制
3.普通跑步
这样其实dp方程很明显,在这三种转移中取max值,但是同时要维护一个原力储量的变量,用来表示是否能够使用神行术
但是若是将三个情况统一处理,显然是不好办的,我们知道的是,若是,不回复原力,那么我们往后都断断无法使用神行,若是将三种情况一起取最优
那么决策就会出现原力用完无法神行,贪心不断取跑步而不能恢复原力而无法再用神行
因此我们必须要分开处理
我们可以把神行和跑步分开处理,因为神行的使用需要原力,我们将恢复原力与神行一起处理
原力够10点就神行,不够就恢复原力
最后在分别在每一秒处理是否跑步
#include<bits/stdc++.h>
using namespace std;
const int maxn = ;
int m, s, t;
int f[maxn]; inline int read() {
int x = , y = ;
char ch = getchar();
while(!isdigit(ch)) {
if(ch == '-') y = -;
ch = getchar();
}
while(isdigit(ch)) {
x = (x << ) + (x << ) + ch - '';
ch = getchar();
}
return x * y;
} int main() {
m = read(), s = read(), t = read();
for(int i = ; i <= t; ++i) {
if(m >= ) f[i] = f[i - ] + , m -= ;
else m += , f[i] = f[i - ];
}
for(int i = ; i <= t; ++i) {
f[i] = max(f[i], f[i - ] + );
if(f[i] >= s) {
cout << "Yes" << '\n' << i << '\n';
return ;
}
}
cout << "No" << '\n' << f[t] << '\n';
return ;
}
洛谷P1095 绝地武士的逃离的更多相关文章
- 洛谷  P1095  守望者的逃离
		
题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会 ...
 - 洛谷——P1095 守望者的逃离
		
https://www.luogu.org/problem/show?pid=1095#sub 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交 ...
 - 洛谷P1095守望者的逃离题解-伪动态规划/贪心
		
链接 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很 ...
 - [洛谷P1095]NOIP2007 普及组T3 守望者的逃离
		
问题描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会 ...
 - 洛谷⑨月月赛Round2 P3393逃离僵尸岛[最短路]
		
题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被僵尸控制了,如果贸然闯入 ...
 - 洛谷  P1373 小a和uim之大逃离
		
2016-05-30 12:31:59 题目链接: P1373 小a和uim之大逃离 题目大意: 一个N*M的带权矩阵,以任意起点开始向右或者向下走,使得奇数步所得权值和与偶数步所得权值和关于K的余数 ...
 - 洛谷1373 小a和uim之大逃离
		
洛谷1373 小a和uim之大逃离 本题地址:http://www.luogu.org/problem/show?pid=1373 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北 ...
 - 【题解】洛谷P1373 小a和uim之大逃离(坐标DP)
		
次元传送门:洛谷P1373 思路 设f[i][j][t][1/0]表示走到(i,j)时 小a减去uim的差值为t 当前是小a取(0) uim取(1) 那么转移就很明显了 f[i][j][t][]=(f ...
 - 洛谷 P3393 逃离僵尸岛
		
洛谷 这道题目其实是最短路裸题. 首先看到题目,要求的到"被占点"距离不大于S的点,自然想到了以"被占点"为源点,求一遍最短路,处理出"危险点&quo ...
 
随机推荐
- [洛谷P2482][SDOI2010]猪国杀
			
题目大意:猪国杀,又一道大模拟题 题解:模拟,对于一个没有玩过三国杀的人来说,一堆细节不知道,写的十分吃力 卡点:无数,不想说什么了,这告诉我要多玩游戏 C++ Code: #include < ...
 - BZOJ 3224 Tyvj 1728 普通平衡树 | Splay 板子+SPlay详细讲解
			
下面给出Splay的实现方法(复杂度证明什么的知道是 nlogn 就可以啦) 首先对于一颗可爱的二叉查找树,是不能保证最坏nlogn的复杂度(可以想象把一个升序序列插入) (二叉查找树保证左子树元素大 ...
 - bzoj1914 [Usaco2010 OPen]Triangle Counting 数三角形 计算机和
			
[Usaco2010 OPen]Triangle Counting 数三角形 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 526 Solved: 2 ...
 - ansible 部署jdk
			
playbook 剧本如下 [root@sz_fy_virt_encrypt_33_239 x]# cat jdk.yml - hosts: web remote_user: opsadmin bec ...
 - maven2应用之jar插件使用介绍
			
[转载声明] 转载时必须标注:本文来源于铁木箱子的博客http://www.mzone.cc [本文地址] 本文永久地址是:http://www.mzone.cc/article/236.html 有 ...
 - php魔术方法的使用
			
本文测试环境为 php5.5.12 一.__get .__set 将对象的属性进行接管. 一般来说,总是把类的属性定义为private,但是对属性的读取和赋值操作非常频繁,在php5+,预定义__se ...
 - cmd常用命令行
			
新建文件夹或文件 打开磁盘 F: 退出cmd exit 返回上一级 cd.. 创建文件夹 md 文件夹名 在d盘创建文件夹 md d:\文件夹名 在当前目录打开 ...
 - HDU5748---(记录每个元素的 最长上升子序列 nlogn)
			
分析: 给一个序列,求出每个位置结尾的最长上升子序列 O(n^2) 超时 #include "cstdio" #include "algorithm" #def ...
 - HDU1232 畅通工程---(经典并查集应用)
			
http://acm.hdu.edu.cn/showproblem.php?pid=1232 畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory ...
 - 【hdu4436/LA6387-str2int】sam处理不同子串
			
题意:给出n个数字,数字很长,用字符串读入,长度总和为10^5.求这n个字符串的所有子串(不重复)的和取模2012 . 例如字符串101,和就是1+10+101=112. 题解: 就是求不同的子串连成 ...