我是靠谱客的博主 丰富皮卡丘,最近开发中收集的这篇文章主要介绍动态规划训练20 [Treats for the Cows POJ - 3186 ],觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 ]所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部