zoukankan      html  css  js  c++  java
  • luogu 4909 [Usaco2006 Mar]Ski Lift 缆车支柱 动态规划

    可以出模拟赛T1? 

    #include <bits/stdc++.h>
    #define N 5002  
    #define inf 1000000 
    #define setIO(s) freopen(s".in","r",stdin) 
    using namespace std;     
    int f[N],h[N];   
    double slope(int i,int j) 
    {
        double dx=(double)i-j;   
        double dy=(double)(h[i]-h[j]); 
        if(dy==0) return 0.0;    
        return dy/dx;     
    }
    int main() 
    { 
        int i,j,n,m;   
        // setIO("input");    
        scanf("%d%d",&n,&m); 
        for(i=1;i<N;++i) f[i]=inf;     
        for(i=1;i<=n;++i) scanf("%d",&h[i]);      
        f[1]=1;    
        for(i=1;i<n;++i) 
        {
            double pre=-100000000000.00;       
            for(j=i+1;j<=n;++j) 
            {
                if(j-i>m) break;       
                double cur=slope(i,j);          
                if(cur>=pre) 
                { 
                    pre=max(pre, cur);   
                    f[j]=min(f[j], f[i]+1);   
                } 
            }
            // printf("%d %d
    ",i,f[i]);      
        }    
        printf("%d
    ",f[n]); 
        return 0;     
    }
    

      

  • 相关阅读:
    Unbuntu--安装VMware Tools
    方法引用的基本使用
    Stream流
    Stream流的常用方法
    枚举
    编程式路由导航
    向路由组件传递数据
    缓存路由组件
    嵌套路由
    基本路由
  • 原文地址:https://www.cnblogs.com/guangheli/p/11605921.html
Copyright © 2011-2022 走看看