zoukankan      html  css  js  c++  java
  • 题解 P1095 【守望者的逃离】

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

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

    • 休息
    • 传送
    • 朴素地跑

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

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

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

    考虑魔法值的构成是

    • 给定的(M)
    • 休息的时间(t imes 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
    "<<ans<<endl;
        else
    	cout<<"No
    "<<maxd<<endl;
        return 0;
    }
    
    
    
  • 相关阅读:
    YAOI Summer Round #4 (Div.2) 题解
    2021 暑假集训(福建师大附中)
    YAOI Round #7 题解
    YAOI Round #5 题解
    插头DP
    四边形不等式
    YAOI Round #3 题解
    关于 2020 年
    图论相关性质和结论(基础)
    斜率优化 DP :Luogu P2365 P5785「SDOI2012」任务安排 & 弱化版
  • 原文地址:https://www.cnblogs.com/winlere/p/10307975.html
Copyright © 2011-2022 走看看