• [bzoj1613][Usaco2008 Jan]Running贝茜的晨练计划_动态规划


    Running贝茜的晨练计划 bzoj-1613 Usaco-2008 Jan

    题目大意题目链接(U组题题意真的是没法概括qwq....)。

    注释:略。


    想法:一眼dp题。

    状态:dp[i][j]表示到达了i时,疲劳值为j的最大运动量。

    转移yy,输出dp[n][0]即可。

    最后,附上丑陋的代码... ...

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    int f[10005][505];
    int v[10005];
    int n,m;
    inline char nc() {static char *p1,*p2,buf[100000]; return (p1==p2)&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;}
    int rd() {int x=0; char c=nc(); while(!isdigit(c)) c=nc(); while(isdigit(c)) x=(x<<3)+(x<<1)+(c^48),c=nc(); return x;}
    int main()
    {
    	n=rd(),m=rd();
        for(int i=1;i<=n;i++) v[i]=rd();
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                 f[i][j]=f[i-1][j-1]+v[i];
                 if(i+j<=n) f[i+j][0]=max(f[i+j][0],f[i][j]);
            }
            f[i][0]=max(f[i-1][0],f[i][0]);
        }
        cout << f[n][0] << endl ;
    	return 0;
    } 
    

    小结:有趣的dp题一道。

  • 相关阅读:
    3.26
    3.25
    3.24
    3.23 JS学习
    3.22 团队作业1 疫情数据可视化
    3.19 个人作业1源码
    3.18 个人作业源码
    5.06python
    5.05Android
    5.04Android
  • 原文地址:https://www.cnblogs.com/ShuraK/p/9680550.html
Copyright © 2020-2023  润新知