\(\color{purple}{Link}\)

\(\text{Solution:}\)

考虑区间\([l,r]\)的最优解。显然它可以由\([l+1,r]\)或\([l,r-1]\)转移而来。至此出现区间\(dp\)模型。

因为这个是求双方最优解,显然对于一段区间\([l,r]\),如果对手选择最优解,那么剩下的也是我们的最优解。

于是直接记忆花搜索即可。复杂度\(O(n^2).\)

#include<bits/stdc++.h>
using namespace std;
int n,a[500],dp[101][101],sum[500],A;
int dfs(int l,int r){
if(l==r)return dp[l][r]=a[l];
if(~dp[l][r])return dp[l][r];
int &F=dp[l][r];
F=sum[r]-sum[l-1]-dfs(l,r-1);
F=max(F,sum[r]-sum[l-1]-dfs(l+1,r));
return F;
}
int main(){
scanf("%d",&n);memset(dp,-1,sizeof(dp));
for(int i=1;i<=n;++i)scanf("%d",&a[i]),sum[i]=sum[i-1]+a[i];
A=dfs(1,n);
printf("%d\n",A);
return 0;
}

【题解】 P2734 [USACO3.3]游戏 A Game的更多相关文章

  1. 【题解】放球游戏B

    题目描述 校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球.第一个人只能放1个球,之后的人最多可以放前一个人的两倍数目的球, ...

  2. 【题解】放球游戏A

    题目描述 校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球.每个人一次只能放1至5个球,最后面对没有空格而不能放球的人为输. ...

  3. 题解 P1312 【Mayan游戏】

    题面 过长已遮挡 题意 体面已经陈述题意(这题没有考语文阅读理解) 题解 ** 我还记得我曾经给自己找的锅,给某些人讲课的时候说过一句话:体面越长的题,越简单.** 这句话没有错,我会用接下来解决这道 ...

  4. [题解] [JLOI2013] 卡牌游戏

    题面 题解 概率dp, 应该做得还是比较少的 设\(f[i][j]\)为该圈有\(i\)人时, 第\(j\)个人最后胜利的概率 枚举选择第几张卡牌, 设其值为\(card[k]\), 那么被淘汰的则是 ...

  5. <题解>幻想乡战略游戏

    洛谷题目 看到题面,很容易就想到,这是要你找树上的重心,只不过这个重心是在带边权的树上 所以对于这个我们在树上找这个重心 一开始我想的是,我要更新权值,然后把每个点的答案更新一下 就取最大值,这好像是 ...

  6. 题解 P4705 【玩游戏】

    这题是真的神仙啊...居然用的 stl 来卡常? 话说 998244353 真的可以一眼 NTT ? noteskey 所以说只要推柿子就好了但是有的地方的推导根本就想不到... 我们令第 t 个答案 ...

  7. 【题解】4465 [Jsoi2013]游戏中的学问

    原题传送门 线性dp推一推就推出方程 设\(f[i][j]\)表示有\(j\)个人,分成\(i\)组,一共有多少分发 边界为\(f[0][0]=1\),珂以得出方程为\(f[i][j]=(j-1)*( ...

  8. 【题解】 [ZJOI2007]矩阵游戏 (二分图匹配)

    原题目戳我 Solution: 这个二分图藏还是挺深的,重点在哪里呢?首先我们分析下,交换影响的会是哪里. 每一次交换只会影响某一行上的排列或者某一列上的排列,如果有矩阵是下面这样,就一定不会互相影响 ...

  9. 【题解】 [SCOI2010]连续攻击游戏 (二分图匹配)

    原题目戳我 Solution: 方法很巧妙,我们把每个装备的属性 与 装备编号连起来 从1-10000跑二分图,如果出现断层,就退出,输出答案就好. memset清理bool快一点,int洛谷上超时了 ...

随机推荐

  1. 2020重新出发,NOSQL,什么是Redis?

    @ 目录 Redis是什么? NoSQL和传统数据库的区别 Redis的优点 Redis在Java Web中的应用 缓存 高速读/写场合 Redis是什么? Redis 是一个由 Salvatore ...

  2. Git在windows上的设置详解

    这几天在学习使用Git版本管理工具,发现期间的各种配置还是挺繁琐的,而且好多命令的确记不住,于是写个blog记录下来,方便以后查阅. 1. 首先到GitHub官网上下载最新的Git,然后装上,装的过程 ...

  3. 原生javaScript导出表格数据

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  4. Java8 ParallelStream

    ParallelStream 并行流就是一个把内容拆分成多个数据块,用不同线程分别处理每个数据块的流.对收集源调用parallelStream方法就能将集合转换为并行流. 并行流 并行流和顺序流转换 ...

  5. 同样是logback1.11,更换了log配置后,无论是否有线程持续不断写入log文件,log文件会按设定以日期序号轮换

    上次发现了logback1.11的一个bug,即有线程持续写入log,则log文件不会按设定模式进行轮换. 但发现同样采用logback1.11的另外一个工程,它的日志文件就没有错误,于是参照其配置文 ...

  6. 20190916-01linux文件与目录结构 000 001

    1./bin 是Binary的缩写,这个目录存放着最经常使用的命令 2./sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序 3./home 存放普通用户的主目录,在 ...

  7. Appium之定位元素

     常用的appium元素定位工具: (1)Android SDK 中提供的元素定位工具uiautomatorviewer: (2)AppiumDesktop提供的元素定位工具Appium Inspec ...

  8. Dubbo系列之 (七)链路层那些事(1)

    辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订 ...

  9. [Codeforces1174B]Ehab Is an Odd Person

    题目链接 https://codeforces.com/contest/1174/problem/B 题意 给一个数组,只能交换和为奇数的两个数,问最终能得到的字典序最小的序列. 题解 内心OS:由题 ...

  10. 内存管理初始化源码3:bootmem

    start_kernel ——> setup_arch ——> arch_mem_init ——> bootmem_init ——> init_bootmem_node: 此时 ...