概述
Treats for the Cows
POJ - 3186
简单的区间DP,就不解释了。
#include<iostream>
#include<cstdio>
using namespace std;
const int INF=1e9;
const int maxn=2005;
int n, a[maxn];
int dp[maxn][maxn];
int main() {
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",a+i);
for(int i=0;i<n;i++) dp[i][i]=n*a[i];
for(int i=1;i<n;i++) {
for(int j=0;j<n-i;j++) {
dp[j][j+i]=max(dp[j][j+i-1]+(n-i)*a[j+i],dp[j+1][j+i]+(n-i)*a[j]);
}
}
printf("%dn",dp[0][n-1]);
return 0;
}
最后
以上就是丰富皮卡丘为你收集整理的动态规划训练20 [Treats for the Cows POJ - 3186 ]的全部内容,希望文章能够帮你解决动态规划训练20 [Treats for the Cows POJ - 3186 ]所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复