Problem Description

The cows are trying to become better athletes, so Bessie is running on a track for exactly N (1 ≤ N ≤ 10,000) minutes. During each minute, she can choose to either run or rest for the whole minute.
The ultimate distance Bessie runs, though, depends on her 'exhaustion factor', which starts at 0. When she chooses to run in minute i, she will run exactly a distance of Di (1 ≤ Di ≤ 1,000) and her exhaustion factor will increase by 1 -- but must never be allowed to exceed M (1 ≤ M ≤ 500). If she chooses to rest, her exhaustion factor will decrease by 1 for each minute she rests. She cannot commence running again until her exhaustion factor reaches 0. At that point, she can choose to run or rest.
At the end of the N minute workout, Bessie's exaustion factor must be exactly 0, or she will not have enough energy left for the rest of the day.
Find the maximal distance Bessie can run.

Input

Line 1: Two space-separated integers: N and M

Lines 2..N+1: Line i+1 contains the single integer: Di

Output

Line 1: A single integer representing the largest distance Bessie can run while satisfying the conditions.

Sample Input

5 2

5
3
4
2
10

Sample Output

9

题意:在赛道跑n分钟,每分钟可以选择跑或者休息,以分钟i跑时会跑完Di的距离但疲劳因子会+1,如果休息,每分钟疲劳因子会-1,但要减到0才能再次跑。疲劳因子不会超过m,在n分钟结束后,疲劳因子必须为0,求最大距离。

思路

是一个区间dp题,用f[i][j]表示第i分钟疲劳值为j时的最大值,由于每分钟有休息或者跑两种状态,此时就要用分治的思想,来分别考虑跑和休息时的状态转移方程。

当选择跑时,当前分钟的最大值由上一分钟的最大值决定,故有:f[i][j]=f[i-1][j-1]+D[i]

当选择休息时有:当前状态的最大值由前面决定开始休息的时间点i-j决定,故有:f[i][0]=max{ d[i-j][j] },j<=m

Source Program

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 10001
#define MOD 2520
#define E 1e-12
using namespace std;
int f[N][501],d[N];
int main()
{int n,m;while(scanf("%d%d",&n,&m)!=EOF){memset(f,0,sizeof(f));for(int i=1;i<=n;i++)scanf("%d",&d[i]);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)//跑f[i][j]=f[i-1][j-1]+d[i];f[i][0]=f[i-1][0];for(int j=1;j<=i&&j<=m;j++)//休息f[i][0]=max(f[i][0],f[i-j][j]);}printf("%d\n",f[n][0]);}return 0;
}

Running(POJ-3661)相关推荐

  1. Bailian2734 十进制到八进制【入门】(POJ NOI0113-45)

    问题链接:POJ NOI0113-45十进制到八进制 2734:十进制到八进制 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个十进制正整数转化成八进制. 输入 一行,仅含一个十进 ...

  2. Bailian2676 整数的个数【入门】(POJ NOI0105-11)

    问题链接:POJ NOI0105-11 整数的个数 2676:整数的个数 总时间限制: 1000ms 内存限制: 65536kB 描述 给定k(1 < k < 100)个正整数,其中每个数 ...

  3. Bailian4029 数字反转【进制】(POJ NOI0105-29)

    问题链接:POJ NOI0105-29 数字反转 4029:数字反转 总时间限制: 1000ms 内存限制: 65535kB 描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数 ...

  4. Bailian2735 八进制到十进制【入门】(POJ NOI0113-46)

    问题链接:POJ NOI0113-46 八进制到十进制 2735:八进制到十进制 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个八进制正整数转化成十进制. 输入 一行,仅含一个八 ...

  5. Silver Cow Party (POJ - 3268 )

    Silver Cow Party (POJ - 3268 ) 这道题是我做的最短路专题里的一道题,但我还没做这个,结果比赛就出了,真是.......... 题目: One cow from each ...

  6. 吴昊品游戏核心算法 Round 7 —— 熄灯游戏AI(有人性的Brute Force)(POJ 2811)

    暴力分为两种,一种属于毫无人性的暴力,一种属于有人性 的暴力.前面一种就不说了,对于后面一种情况,我们可以只对其中的部分问题进行枚举,而通过这些子问题而推导到整个的问题中.我称之为有人性的Brute ...

  7. apt-mirror is already running(已运行)错误解决方案

    运行sudo apt-mirror却无法启动服务了.而是给出了一行错误提示信息:               apt-mirror is already running, exiting at /us ...

  8. 【二分】Best Cow Fences(poj 2018)

    Best Cow Fences poj 2018 题目大意: 给出一个正整数数列,要你求平均数最大,长度不小于M的字串,结果乘1000取整 输入样例 10 6 6 4 2 10 3 8 5 9 4 1 ...

  9. 昂贵的聘礼(poj 1062)

    Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...

  10. 主席树学习小结(POJ 2104)

    在高中的时候就听到过主席树了,感觉非常高端,在寒假的时候 winter homework中有一题是查找区间第K大的树,当时就开始百度这种网上的博客,发现主席树看不懂,因为那个root[i],还有tx[ ...

最新文章

  1. 2021年大数据Flink(二十六):​​​​​​​State代码示例
  2. 时间序列数据的预处理
  3. linux基础-网络基础知识篇
  4. 基础的重要性(程序猿之路)
  5. cocos2d - CCSprite各种动画
  6. Java高次方数尾数输出_C语言求高次方数的尾数代码解析
  7. Memobus总线光端机产品功能介绍
  8. 雷利子油猴脚本v0.3.6,无需启动天翼客户端直接下载
  9. Linux-0.11内核学习-添加系统调用
  10. 【Elasticsearch】Elasticsearch 索引生命周期管理
  11. 【Java】面向对象是什么
  12. iBase4J 分布式开发平台
  13. 测试mysql的查询速度很慢_求助,mysql统计实时数据信息的,查询速度很慢?
  14. Maven分布式工程-分页查询(一)
  15. 计算机原理华东理工大学期末成绩查询,华东理工大学微机原理历年真题第十一章.ppt...
  16. Linux之镜像源篇
  17. Hadoop集群配置(二)免密登录和集群配置
  18. 智头条:萤石拟科创板上市将投18.5亿建厂,Matter智能家居标准延迟至明年,涂鸦、公牛、极米等企业发布
  19. matlab锁相放大器,锁相放大器原理和模块实现与仿真.DOC
  20. vps没有mysql怎么用商店_买了vps能干什么,何不用它搭建一个5T私人网盘?

热门文章

  1. 从起源到未来:能自己编程和改进的超人工智能会出现吗?
  2. 没看过这5本硬核技术书,就别说你懂大数据
  3. 我和学姐聊了下他在阿里这9年的成长,受益颇多!
  4. 工作总结!日志打印的15个建议
  5. 64岁Python之父:我不退休了,我要去微软
  6. 关于如何破坏单例我说了好几种方式,面试官却说:我其实随便问问,没想到你真会...
  7. JAVA微服务框架,Jeecg-P3 1.0.0 重构版本发布
  8. JQ中使用FormData+Ajax发送请求及使用express接收处理FormData数据
  9. Python数据清洗基本流程
  10. delphi 获取桌面路径