动态规划训练20 [Treats for the Cows POJ

来源:互联网 发布:时代周刊封面 知乎ps 编辑:程序博客网 时间:2024/06/08 11:51

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("%d\n",dp[0][n-1]);    return 0;}


原创粉丝点击