POJ PKU 3661 动态规划
(2010-04-22 19:58:31)
标签:
pojpku3661it |
分类: 动态规划 |
题目描述:
一个人(牛。。。)跑步,开始时劳累程度是0,一共有N分钟,如果第i分钟跑步的话,能跑di的距离。同时劳累程度加1,如果这一分钟休息的话,劳累程度减一,而且如果一旦休息,就一定要休息到劳累程度为0时才能继续跑。
问第N分钟劳累程度是0的时候最多能跑多远。
解题报告:
dp
dp[i][j] = dp[i - 1][j - 1] di ( j
dp[i][0] = max (dp[i - 1][0], dp[i - j][j](i - j >=
j && j <= M))
代码如下:
#include<iostream>
using namespace std;
int dp[10001][501], n, m, x;
int main()
{
}