背景

USACO

描述

奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息。若她在第i分钟跑步,可以跑出D_i米,同时疲倦程度增加1(初始为0)。若她在第i分钟休息,则疲倦程度减少1。无论何时,疲倦程度都不能超过M。另外,一旦她开始休息,只有当疲惫程度减为0时才能重新开始跑步。在第N分钟后,她的疲倦程度必须为0。

输入格式

第一行,两个整数,代表N和M。
接下来N行,每行一个整数,代表D_i。

输出格式

Bessie想知道,她最多能跑的距离。

测试样例1

输入

5 2 




10

输出

9

备注

N <= 2000 , M <= 500 , D_i <= 1000
Vivian Snow
广东汕头聿怀初级中学NOIp第一次训练用题

代码

  1. #include<iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. #include<algorithm>
  5.  
  6. using namespace std;
  7. int N,M;
  8. int f[][],d[];
  9.  
  10. int main(){
  11. // freopen("01.txt","r",stdin);
  12. scanf("%d%d",&N,&M);
  13. for(int i=;i<=N;i++)
  14. scanf("%d",&d[i]);
  15. for(int i=;i<=N;i++){
  16. f[i][]=f[i-][];
  17. for(int j=;j<=M;j++){
  18. f[i][j]=f[i-][j-]+d[i];
  19. if(j<=i) f[i][]=max(f[i][],f[i-j][j]);
  20. }
  21. }
  22. printf("%d\n",f[N][]);
  23. return ;
  24. }

两个问题,一个是d数组题目没看清开小了

还有一个是没有考虑到直接休息的情况,17行没写

转载:

用f(i,j)表示第i天结束,疲劳值为j的最远跑步距离

则f(i,j)=f(i−1,j−1)+Dif(i,j)=f(i−1,j−1)+Di

f(i,0)=max{f(i−j,j)}

TYVJ P1023 奶牛的锻炼 Label:dp的更多相关文章

  1. [TYVJ] P1023 奶牛的锻炼

    奶牛的锻炼 背景 Background USACO   描述 Description 奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息.若她在第i分钟跑步,可以跑出D_i米,同时疲倦程度增加 ...

  2. P1023 奶牛的锻炼

    P1023 奶牛的锻炼 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 USACO 描述 奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息.若她在第 ...

  3. TYVJ P1015 公路乘车 &&洛谷 P1192 台阶问题 Label:dp

    题目描述 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式. 输入输出格式 输入格式: 输入文件的仅包含两个正整数N,K. 输出格式: 输入文件s ...

  4. TYVJ P1034 尼克的任务 Label:倒推dp

    背景 题库靠大家,人人都爱它. 描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成.尼克的一个工作 ...

  5. TYVJ P1045 &&洛谷 1388 最大的算式 Label:dp

    描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号.例 ...

  6. TYVJ P1048 田忌赛马 Label:dp

    描述     中国古代的历史故事“田忌赛马”是为大家所熟知的.话说齐王和田忌又要赛马了,他们各派出N匹马,每场比赛,输的一方将要给赢的一方200两黄金,如果是平局的话,双方都不必拿出钱.现在每匹马的速 ...

  7. tyvj1023 - 奶牛的锻炼 ——DP

    题目链接:https://www.tyvj.cn/Problem_Show.aspx?id=1023 #include <cstdio> #include <algorithm> ...

  8. TYVJ P1086 Elevator Label:dp

    背景 广东汕头聿怀初中 Train#2 Problem4 描述 现有N种箱子,每种箱子高度H_i,数量C_i.现选取若干箱子堆成一列,且第i种箱子不能放在高度超过A_i的地方.试求最大叠放高度. 输入 ...

  9. BZOJ 1827: [Usaco2010 Mar]gather 奶牛大集会 树形DP

    [Usaco2010 Mar]gather 奶牛大集会 Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会.当然,她会选择最方便的地点来举办这次集会.每个奶牛居住在 N(1 ...

随机推荐

  1. stringbuffer 和 stringbuilder的区别

    1. stringbuffer 和 stringbuilder的区别 StringBuffer是线程安全的, 这个类里的所有方法是同步的.这个反过来就会对程序的性能有一定的影响.StringBuild ...

  2. [ruby on rails] 跟我学之(5)显示所有数据

    之前的index页,显示的是hello world,现在将其修改为显示我们在rails console里面录入的数据. 1. 修改action 如之前的章节<[ruby on rails] 跟我 ...

  3. android文章学习 侧滑菜单实现

    http://blog.csdn.net/jj120522/article/details/8075249 http://blog.csdn.net/lilybaobei/article/detail ...

  4. 【Network】一张图看懂 Reactor 与 Proactor 模型的区别

    首先来看看Reactor模式,Reactor模式应用于同步I/O的场景.我们以读操作为例来看看Reactor中的具体步骤:读取操作:1. 应用程序注册读就需事件和相关联的事件处理器2. 事件分离器等待 ...

  5. 分享一个Cnblogs简易APP

    最近在学习Android app的开发,俗话说万事开头难,本人也不例外.计算机编程是属于一门要求动手能力和动脑能力都很强的学科,相信很多人都会有这样的经历,看得懂不去用,过不了几天也就忘记了.因而,在 ...

  6. Android dp px转化公式

    // DisplayMetrics metrics = getResources().getDisplayMetrics(); // int statusBarHeight = (int) Math. ...

  7. wx.html2.WebView在 target="_blank" or rel="external" 没有反映的解决方法

    在wx.html2.EVT_WEBVIEW_LOADED中,用WebView.RunScript运行删除链接目标的脚本 javaScriptStr = '''function deleteBlank( ...

  8. tomcat启动,输出system.out.println()

    tomcat6.0在使用System.out.println("aa")的时候,用cmd启动startup.bat,弹出的那个cmd窗口看到 还可以看logs/catalina.o ...

  9. VS添加lib库

    #pragma comment(lib,"opengl32.lib")

  10. 山峰(codevs 1531)

    1531 山峰  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description Rocky山脉有n个山峰,一字排开,从 ...