[Usaco2007 Jan]Running贝茜的晨练计划
来源:互联网 发布:新浪云 端口 编辑:程序博客网 时间:2024/04/26 16:21
奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的 运动方式是每天进行N(1 <= N <= 10,000)分钟的晨跑。在每分钟的开始,贝茜 会选择下一分钟是用来跑步还是休息。 贝茜的体力限制了她跑步的距离。更具体地,如果贝茜选择在第i分钟内跑 步,她可以在这一分钟内跑D_i(1 <= D_i <= 1,000)米,并且她的疲劳度会增加 1。不过,无论何时贝茜的疲劳度都不能超过M(1 <= M <= 500)。如果贝茜选择 休息,那么她的疲劳度就会每分钟减少1,但她必须休息到疲劳度恢复到0为止。 在疲劳度为0时休息的话,疲劳度不会再变动。晨跑开始时,贝茜的疲劳度为0。 还有,在N分钟的锻炼结束时,贝茜的疲劳度也必须恢复到0,否则她将没有 足够的精力来对付这一整天中剩下的事情。 请你计算一下,贝茜最多能跑多少米。
这题一看就是个二维DP
dp[i , j]表示第i秒疲劳度为j的最大距离。
首先dp[i, 0] = dp[i - 1, 0]是一定可以的。
然后就可以枚举疲劳度。
dp[i, 0] = max(dp[i, 0], dp[i - j, j]) j <= i
dp[i, j] = max(dp[i , j], dp[i - 1, j - 1] + a[i]) j <= M
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cstdlib>#include <ctime>#include <vector>#include <map>#include <set>#define MAXN 11111#define MAXM 555#define INF 1000000007using namespace std;int dp[MAXN][MAXM];int a[MAXN];int n, m;int main(){ scanf("%d%d", &n, &m); for(int i = 1; i <= n; i++) scanf("%d", &a[i]); for(int i = 1; i <= n; i++) { dp[i][0] = dp[i - 1][0]; for(int j = 1; j <= m; j++) { if(i >= j) dp[i][0] = max(dp[i][0], dp[i - j][j]); dp[i][j] = max(dp[i - 1][j - 1] + a[i], dp[i][j]); } } printf("%d\n", dp[n][0]); return 0;}
- [Usaco2007 Jan]Running贝茜的晨练计划
- BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
- BZOJ1613 [Usaco2007 Jan]Running贝茜的晨练计划
- bzoj1613 【Usaco2007 Jan】Running 贝茜的晨练计划
- BZOJ1613 [Usaco2007 Jan]Running贝茜的晨练计划
- BZOJ1613 [Usaco2007 Jan]Running贝茜的晨练计划
- DP-BZOJ-1613-[Usaco2007 Jan]Running贝茜的晨练计划
- [bzoj 1613]: [Usaco2007 Jan]Running贝茜的晨练计划 dp
- 【bzoj1613】【Usaco2007 Jan】Running贝茜的晨练计划(dp) 题解&代码
- bzoj 1613: [Usaco2007 Jan]Running贝茜的晨练计划(DP)
- 贝茜的晨练计划
- 【动态规划】贝茜的晨练计划
- wikioi1578 贝茜的晨练计划 dp
- [Tyvj 2476]贝茜的晨练计划
- 贝茜的晨练计划(cowrun)
- 【u025】贝茜的晨练计划
- 【USACO】贝茜的晨练计划
- ACM 146. [USACO Jan08] 贝茜的晨练计划(dp)
- 忘记root密码解决方法一
- poj1511
- S3c2410_SDIO_调试笔记
- 设计模式开章
- 检测桌面浏览器的初步想法
- [Usaco2007 Jan]Running贝茜的晨练计划
- 在Linux中与日期、计算有关的几个命令
- apache更改目录出错解决方法
- LINK : fatal error LNK1168: cannot open Debug/1.exe for writing
- ctrl+shift不能切换输入法解决方法详解
- volatile关键字
- C/C++常用宏定义
- apache安装配置总结
- php gerr 统一的错误处理 v0