题意:给定一个长度为n的序列,两个人分别从两端开始取若干数,但是规定要么左,要么右,问双方都采取最优策略下A的总和减去B的值。

思路:区间dp,dp(i,j)表示先手的总和,那么状态转移方程便为dp(i,j)=sum(i,j)-min(左边取,右边取,0(取完)),记忆化搜索。

code:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;const int M=110;
int s[M],a[M],d[M][M],vis[M][M],n;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(cin>>n,n){s[0]=0;for (int i=1;i<=n;i++){cin>>a[i];s[i]=s[i-1]+a[i];}memset(vis,0,sizeof(vis));cout<<2*dp(1,n)-s[n]<<endl;}
}

UVA 10891——Game of Sum相关推荐

  1. 【UVA - 10891 Game of Sum 】【HRBUST - 1622】 Alice and Bob (区间dp,博弈问题)

    题干: 有一个长度为N的整数序列,Alice和Bob轮流取数,Alice先取.每次玩家只能从左端或者右端 取一个或多个数,但不能两端都取.所有数都被取走后游戏结束,然后统计每个人取走的所有数之和, 作 ...

  2. [UVA 10891] Game of Sum

    图片加载可能有点慢,请跳过题面先看题解,谢谢 很容易想到这样一个状态: \(dp[l][r]\) 表示,\(l\) 到 \(r\) 这一段区间,双方都使用最优策略时,先手能得到的最大分数 $ $ 那么 ...

  3. uva 10891 - Game of Sum

    题解   白书上  总和一定的  dp 题:经典题 1 #include<iostream> 2 #include<stdio.h> 3 #include<cstring ...

  4. UVA 10891 SUM游戏 DP

    刚看到这个题目不知道怎么个DP法,有点难想到 解法如下 设置dp[i][j]代表i到j这段子序列能获得的最大值,这样,枚举m=min(m,dp[i+1到j][j],dp[i][i到j-1]),m就代表 ...

  5. hdu 4597 + uva 10891(一类区间dp)

    题目链接:http://vjudge.net/problem/viewProblem.action?id=19461 思路:一类经典的博弈类区间dp,我们令dp[l][r]表示玩家A从区间[l, r] ...

  6. UVa在线比赛单题汇总-----DP专题

    动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...

  7. 【LightOJ - 1031】Easy Game (区间dp,博弈)

    题干: You are playing a two player game. Initially there are n integer numbers in an array and player  ...

  8. 【CodeForces - 1038C】Gambling (博弈问题,优先队列模拟,贪心)

    题干: Two players A and B have a list of nn integers each. They both want to maximize the subtraction ...

  9. π-Algorithmist分类题目(3)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(3) Probability ...

最新文章

  1. DevExpress Asp.net(6) ASPxLoadingPanel的基本使用
  2. EVM反编译软件Porosity的使用-mac
  3. 剑指offer之【数组中的逆序对】
  4. jzoj3302-[集训队互测2013]供电网络【上下界网络流,费用流,动态加边】
  5. android listview自动加载更多,如何实现 Android ListView『上拉加载更多』?
  6. WordPress前台后台页面打开慢的解决方法
  7. 500并发 一台服务器的性能_面试官绝杀:系统是如何支撑高并发的?
  8. 女生体寒的·手脚冰凉的都来看了(男的替老婆收着)
  9. 安全加密 - 加密算法 - 摘要算法 - 秘钥交换协议 - 量子加密
  10. 认知学派用计算机来比拟人,比拟:把人当物写或把物当人来写的一种修辞方法,前者称之为拟物,后者称之为拟人.如:①做人既不可翘尾巴,也不可夹着尾巴. ②蜡炬成灰泪始干....
  11. foobar2000在线标签服务器,在Foobar2000播放器中从音乐名获取标签的技巧
  12. 命中有时终须有,命中无时莫强求--命理理论
  13. 上面两点下面一个三角形_章勤琼:三角形内角和180该如何说明 ——小学数学中的合情推理和演绎推理...
  14. Java 并发编程—— Exchanger 应用,java软件开发工程师面试题
  15. html中创建学生对象,在考生文件夹下,存在一个数据库文件“sampl.mdb”。在数据库文件中已经建立了一个表对象“学生基本情...
  16. wxpython应用程序_用wxPython创建GUI应用程序展示NASA图片(第一部分)
  17. 人力资源数据分析 - case 分析拉钩数据分析师岗位
  18. 破解AI开课难题!2021 全国人工智能师资培训落地厦门大学
  19. Time.deltaTime 用法
  20. Python数据分析案例14——文本计算TF-IDF值和LDA主题模型

热门文章

  1. CSS节选——选择器
  2. 如何让浮动的元素换行??css
  3. CSS中的 ',' 、''、'+'、'~'
  4. 数据库 日期格式操作
  5. 由MySql漏洞导致电脑被入侵(特征为新增加名为piress的帐户)
  6. 调光设备术语:调光曲线(转)
  7. Linux LVM学习总结——扩展卷组VG
  8. 浅谈块级元素和内联元素的嵌套规则
  9. Daily Scrum 11.18
  10. centos 6.5网卡dhcp不能获得网关