码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 3186Treats for the Cows (区间DP)

时间:2016-03-19 01:00:29      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

详见代码

技术分享
 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)

标签:

原文地址:http://www.cnblogs.com/ITUPC/p/5294076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!