【题解】 P2734 [USACO3.3]游戏 A Game
\(\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的更多相关文章
- 【题解】放球游戏B
题目描述 校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球.第一个人只能放1个球,之后的人最多可以放前一个人的两倍数目的球, ...
- 【题解】放球游戏A
题目描述 校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球.每个人一次只能放1至5个球,最后面对没有空格而不能放球的人为输. ...
- 题解 P1312 【Mayan游戏】
题面 过长已遮挡 题意 体面已经陈述题意(这题没有考语文阅读理解) 题解 ** 我还记得我曾经给自己找的锅,给某些人讲课的时候说过一句话:体面越长的题,越简单.** 这句话没有错,我会用接下来解决这道 ...
- [题解] [JLOI2013] 卡牌游戏
题面 题解 概率dp, 应该做得还是比较少的 设\(f[i][j]\)为该圈有\(i\)人时, 第\(j\)个人最后胜利的概率 枚举选择第几张卡牌, 设其值为\(card[k]\), 那么被淘汰的则是 ...
- <题解>幻想乡战略游戏
洛谷题目 看到题面,很容易就想到,这是要你找树上的重心,只不过这个重心是在带边权的树上 所以对于这个我们在树上找这个重心 一开始我想的是,我要更新权值,然后把每个点的答案更新一下 就取最大值,这好像是 ...
- 题解 P4705 【玩游戏】
这题是真的神仙啊...居然用的 stl 来卡常? 话说 998244353 真的可以一眼 NTT ? noteskey 所以说只要推柿子就好了但是有的地方的推导根本就想不到... 我们令第 t 个答案 ...
- 【题解】4465 [Jsoi2013]游戏中的学问
原题传送门 线性dp推一推就推出方程 设\(f[i][j]\)表示有\(j\)个人,分成\(i\)组,一共有多少分发 边界为\(f[0][0]=1\),珂以得出方程为\(f[i][j]=(j-1)*( ...
- 【题解】 [ZJOI2007]矩阵游戏 (二分图匹配)
原题目戳我 Solution: 这个二分图藏还是挺深的,重点在哪里呢?首先我们分析下,交换影响的会是哪里. 每一次交换只会影响某一行上的排列或者某一列上的排列,如果有矩阵是下面这样,就一定不会互相影响 ...
- 【题解】 [SCOI2010]连续攻击游戏 (二分图匹配)
原题目戳我 Solution: 方法很巧妙,我们把每个装备的属性 与 装备编号连起来 从1-10000跑二分图,如果出现断层,就退出,输出答案就好. memset清理bool快一点,int洛谷上超时了 ...
随机推荐
- JavaScript 究竟是怎样去执行的?
摘要: 理解 JS 引擎运行原理. 作者:前端小智 原文:搞懂 JavaScript 引擎运行原理 Fundebug经授权转载,版权归原作者所有. 一些名词 JS 引擎 — 一个读取代码并运行的引擎, ...
- unity 4种实现动态障碍方法
此文将介绍4种实现动态障碍的方法,2种基于navmesh,2种基于astar算法. 1.基于navmesh. 1.制作场景障碍: a.有几个独立的障碍物,就定义几个user area,即,一个场景仅仅 ...
- 《神经网络的梯度推导与代码验证》之CNN前向和反向传播过程的代码验证
在<神经网络的梯度推导与代码验证>之CNN的前向传播和反向梯度推导 中,我们学习了CNN的前向传播和反向梯度求导,但知识仍停留在纸面.本篇章将基于深度学习框架tensorflow验证我们所 ...
- 【jmespath】—3. 进阶 Object Projections
继续,来看Object Projections. 一.Object Projections 上面说的是列表投影,只适用于列表.那么对于json对象,可以用对象投影. 投影最终返回的仍然是个列表,只不过 ...
- [WUST-CTF]Web WriteUp
周末放假忙里偷闲打了两场比赛,其中一场就是武汉科技大学的WUST-CTF新生赛,虽说是新生赛,题目质量还是相当不错的.最后有幸拿了总排第5,记录一下Web的题解. checkin 进入题目询问题目作者 ...
- VS提交码云权限问题
提交代码时出现Git failed with a fatal error. Authentication failed的问题. 如果没有像当前代码库提交过代码(所有项目),那么提交时会提示输入账号密码 ...
- 原生 Java 客户端进行消息通信
原生 Java 客户端进行消息通信 Direct 交换器 DirectProducer:direct类型交换器的生产者 NormalConsumer:普通的消费者 MulitBindConsumer: ...
- Zookeeper原生客户端
1.1.1.1. 客户端基本操作 package cn.enjoy.javaapi; import org.apache.zookeeper.*; import java.io.IOException ...
- elasticsearch跨集群数据迁移
写这篇文章,主要是目前公司要把ES从2.4.1升级到最新版本7.8,不过现在是7.9了,官方的文档:https://www.elastic.co/guide/en/elasticsearch/refe ...
- JVM_01 简介
本篇仅仅是JVM的简介,关于更多的JVM细节,请参见本专题JVM: 计算机系统当中的JVM JVM是运行在操作系统之上的,并没有和硬件有直接的交互 Java代码一次编译,到处运行 HotSpot虚拟机 ...