奶牛的锻炼...dp
2016-07-26 09:16
281 查看
动归的主要思想还是通过解决子问题一步一步解决最终的问题,就像是大BOSS问他的助理一个问题,然后助理又问下一层,然后一层一层的往下,但其实最底层的人很笨,说的很啰嗦,且不完善,所以就需要每上一层的完善,直到得到最好的答案告诉大BOSS。
通过这道题,发现动归关键要找到存储每层最佳答案的标准,即容器,还有就是递推公式,比如这道题的递推公式我就没推明白,最后只能半知半解的抄袭了这道题的题解,例如我就不是很明白为什么只要休息就休息到疲惫值为零就是最佳状态,这种idea简直突破我的脑洞。。。。
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define M 10005
using namespace std;
int s[M];
int f[M][505] = {0};
int main()
{
int n,m;
int i, j, k, b;
scanf("%d%d", &n, &m);
for(i = 1; i<= n; i++)
{
scanf("%d", &s[i]);
}
f[1][1] = s[1];
int ma = 0;
for(i = 2; i<= n; i++)
{
for(j = 0; j<= m; j++)
{
if(j ==0)
{
for(k = 1; k<=i>>1; k++)
{
ma = max(ma,f[i-k][k]);
}
ma =max(ma, f[i-1][j]);
f[i][j] = ma;
ma =0;
}
else
f[i][j]= f[i-1][j-1]+s[i];
}
}
printf("%d", f
[0]);
return 0;
}
相关文章推荐
- linux命令小工具-cheat
- POJ 1001 高精度乘法
- unity调用java
- 浅谈原生javascript的select操作
- HTML CSS特殊字符总结
- Web.xml配置详解
- 使用 VisualVM 进行性能分析及调优
- 练习题GRYZ2015 足球联赛(重庆一中高2018级信息学竞赛测验4) 解题报告
- MSSQL Get Last Monday and Last Sunday
- PHP编程时的规范化命名
- UIToolbar
- 7.22BFS&DFS训练计划
- 八皇后
- byteConvertInputStream
- hihocoder #1341 Constraint Checker
- C#实现微信开发
- 转: Ubuntu 安装字体方法
- .NET AOP (六)在编译阶段PostSharp
- [李景山php]每天laravel-20160927|Factory.php
- js判断空对象的实例(超简单)