POJ 3186 Treats for the Cows (区间DP 水题)
2015-07-16 16:38
267 查看
题意略。
思路:设dp[i][j]为买出i到j的最大收益。
状态转移方程:
dp[i][j] = max(dp[i+1][j] + a[i]*(n - j + i) , dp[i][j-1] + a[j]*(n - j + i));
我的代码:
思路:设dp[i][j]为买出i到j的最大收益。
状态转移方程:
dp[i][j] = max(dp[i+1][j] + a[i]*(n - j + i) , dp[i][j-1] + a[j]*(n - j + i));
我的代码:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn = 2005; int n,a[maxn],dp[maxn][maxn]; int main(){ scanf("%d",&n); for(int i = 0 ;i < n ; i++) scanf("%d",&a[i]); for(int i = n - 1; i >= 0 ; i--){ for(int j = i ; j < n ; j++){ dp[i][j] = max(dp[i][j],max(dp[i][j-1] + a[j]*(n - j + i),dp[i+1][j] + a[i]*(n - j + i))); } } printf("%d\n",dp[0][n-1]); return 0; }
相关文章推荐
- C语言实现单链表,和测试主函数
- cocos2d-x初探学习笔记(19)--物理引擎box2d(1)
- 黑马程序员——IO流详解
- log4j的一些问题
- DataGridView很详细的用法
- Oil Deposits( hdu1241
- [转]redis服务器与客户端保活参数(tcp-keepalive)设置
- spark on yarn 安装笔记
- Android中截取照片
- Ubuntu 安装mysql
- ROS探索总结(三)——ROS新手教程
- C++关键字mutable
- 【Android测试】【第三节】ADB——源码浅谈
- C# 中解决页面刷新后字体等变大问题
- spark on yarn 安装笔记
- Android的网络与通信(转)
- [LintCode]unique paths
- MYSQL数据导入EXCEL
- Bitmap
- 公开的Webservice