标签:onclick display 技术 span splay hide c++ 需要 思路
题意:给出自身能量值,给出逃离所需距离,给出逃离限制时间
给出条件:每秒17米或者消耗10点能量闪现60米
也可以选择原地不动回复4点能量值
问:假如能逃离,输出yes和最短逃离时间
假如不能逃离,输出最长逃离距离;
思路:很明显,再距离逃离点还很远的时候,我们一直用闪现就行;
因为即使算上能量消耗存储所耗时间,也比每秒17米快
所以我们不妨先dp闪现部分
再dp跑步部分(其实只有在最后快到达终点的时候才需要跑步)即可
1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=3e5+10; 4 int dp[maxn]; 5 int main(){ 6 int m,s,t; 7 scanf("%d%d%d",&m,&s,&t); 8 for(int i=1;i<=t;i++){ 9 if(m>=10)dp[i]=dp[i-1]+60,m-=10; 10 else dp[i]=dp[i-1],m+=4; 11 } 12 for(int i=1;i<=t;i++){ 13 dp[i]=max(dp[i],dp[i-1]+17); 14 if(dp[i]>=s){ 15 printf("Yes\n%d",i); 16 return 0; 17 } 18 } 19 printf("No\n%d",dp[t]); 20 return 0; 21 }
标签:onclick display 技术 span splay hide c++ 需要 思路
原文地址:https://www.cnblogs.com/pangbi/p/12556082.html