zoukankan      html  css  js  c++  java
  • luogu P1353 【[USACO08JAN]跑步Running】

    USACO!!! 唉!无一例外又是母牛(终于知道美国的牧场养什么了


    今天的主人公是一个叫贝茜的公主病母牛(好洋气) 可是她叫什么和我们理解题好像没有什么关系

    通过读题我们可以发现她有三个傲娇的地方

    1.她要继续走

    2.她要中途休息,但是要休息到完全恢复体力,即疲劳度为0

    3.她要发奋图强一直走下去,直到体力耗尽

    那么我们针对这三种情况就可以发现有三个状态转移方程式

    1.她要继续走那么疲劳度+1,再加上这一秒所走的距离 f[i-1][j-1]+a[i]

    2.她要中途休息,那么疲劳度休息到0,距离不变 f[i+j][0],f[i-1][j+1]

    3.她一直走直到体力耗尽,必须恢复疲劳度,那么她会一直休息 f[i][j],f[i-1][0]

    #include<bits/stdc++.h>
    using namespace std;
    const int M = 11000;
    int n,m;
    int a[M],f[M][510];
    int main()
    {
        cin>>n>>m;
        for(int i=1;i<=n;i++)
            cin>>a[i];
        for(int i=1;i<=n;i++)
            for(int j=m;j>=0;j--)
            {
                if(i+j<=n)
                    f[i+j][0]=max(f[i+j][0],f[i-1][j+1]);
                if(j==0)
                    f[i][j]=max(f[i][j],f[i-1][0]);
                else
                    f[i][j]=max(f[i][j],f[i-1][j-1]+a[i]);
            }
        cout<<f[n][0]<<endl;
        return 0;
    }

    你是我路过人间时藏在山河里的唯一秘密

    也是我披星戴月奔赴万里无奈的触不可及

  • 相关阅读:
    SDN组网相关解决方案
    Linux C中结构体初始化
    lambda函数、lambda表达式
    流量工程 traffic engineering (TE)
    BGP路由协议详解(完整篇)
    Overlay network 覆盖网络
    覆盖路由
    重叠(Overlapping) NAT
    Multiprotocol Label Switching (MPLS)
    MPLS
  • 原文地址:https://www.cnblogs.com/xmex/p/10097900.html
Copyright © 2011-2022 走看看