POJ 3186Treats for the Cows (区间DP)

Posted blues

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 3186Treats for the Cows (区间DP)相关的知识,希望对你有一定的参考价值。

详见代码

技术分享
 1 #include <stdio.h>
 2 #include <algorithm>
 3 #include <string.h>
 4 using namespace std;
 5 int a[2010];
 6 int dp[2010][2010];//i到j的最大和是多少
 7 int main() {
 8 //    freopen("in.txt","r",stdin);
 9     int t;
10     while(~scanf("%d",&t)) {
11         for(int i=1; i<=t; i++) {
12             scanf("%d",&a[i]);
13         }
14         memset(dp,0,sizeof(dp));
15         for(int i=t; i>=1; i--) {//逆序访问,顺序不行
16             for(int j=i; j<=t; j++) {
17                 dp[i][j]=max(dp[i+1][j]+a[i]*(t+i-j),dp[i][j-1]+a[j]*(t+i-j));//状态转移方程
18             }
19         }
20         printf("%d\n",dp[1][t]);
21     }
22     return 0;
23 }
View Code

 

以上是关于POJ 3186Treats for the Cows (区间DP)的主要内容,如果未能解决你的问题,请参考以下文章

POJ3186 Treats for the Cows —— 区间DP

POJ 3186 Treats for the Cows (简单区间DP)

POJ 3186Treats for the Cows (区间DP)

POJ 3186Treats for the Cows(区间DP)

POJ - 3186 Treats for the Cows (区间DP)

poj 3186 Treats for the Cows (区间dp)