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

【UVA】10891 Game of Sum(区间dp)

时间:2018-06-26 12:24:03      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:targe   lan   size   span   eof   表示   style   IV   ret   

题目

传送门:QWQ

 

 

分析

大力dp。用$ dp[i][j] $表示$ [i,j] $A能得到的最高分

我看到博弈论就怂。。。

 

 

代码

#include <bits/stdc++.h>
using namespace std;
const int maxn=110;
int S[maxn],A[maxn],vis[maxn][maxn],n,d[maxn][maxn];
int dp(int i,int j){
    if(vis[i][j]) return d[i][j];
    vis[i][j]=1;
    int m=0;
    for(int k=i+1;k<=j;k++) m=min(m,dp(k,j));
    for(int k=i;k<j;k++)     m=min(m,dp(i,k));
    d[i][j]=S[j]-S[i-1]-m;
    return d[i][j];
}
int main(){
    while(scanf("%d",&n) && n){
        S[0]=0;
        for(int i=1;i<=n;i++){scanf("%d",&A[i]);S[i]=S[i-1]+A[i];}
        memset(vis,0,sizeof(vis));
        printf("%d\n",2*dp(1,n)-S[n]);
    }
    return 0;
}

 

 

 

 

 

 

【UVA】10891 Game of Sum(区间dp)

标签:targe   lan   size   span   eof   表示   style   IV   ret   

原文地址:https://www.cnblogs.com/noblex/p/9228258.html

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