Codeforces731E Funny Game
dp[i][0]表示从i出发,轮到先手走的最优值。
dp[i][1]表示从i出发,轮到后手走的最优值。
dp[i][0]=max(dp[j][1]+sum[j])
dp[i][1]=min(dp[j][0]-sum[j])
倒着推就好了。
#include <bits/stdc++.h>
using namespace std; int a[];
int dp[][];
int sum[]; int main()
{
int n;
scanf("%d", &n);
for (int i = ; i <= n; i++)
scanf("%d", a + i), sum[i] = sum[i - ] + a[i];
int houShouMax = sum[n], xianShouMin = -sum[n];
for (int i = n - ; i >= ; i--)
{
dp[i][] = houShouMax;
dp[i][] = xianShouMin;
houShouMax = max(houShouMax, dp[i][] + sum[i]);
xianShouMin = min(xianShouMin, dp[i][] - sum[i]);
}
printf("%d", dp[][]);
return ;
}
Codeforces731E Funny Game的更多相关文章
- Codeforces乱刷集合
发这篇博客的目的是因为刷了些水题,但又有一些不错的地方可以加以借鉴....然后又不想一个一个发.... Codeforces731A 题目大意:给出一个26个字母的环,初始指向a,可以顺时针转或者逆时 ...
随机推荐
- android笔记5——同一个Activity中Fragment的切换
今天来模拟一个注冊的界面过程: 点击"下一步"之后: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZW5zb24xNjg1NQ==/f ...
- Simple calculations
Description 有一个包括n+2个元素的数列a0, a1, ..., an+1 (n <= 3000, -1000 <= ai <=1000).它们之间满足ai = (ai- ...
- Nova镜像使用方法
Nova中的虚拟机可以从镜像.卷.卷快照等启动,一般装完OpenStack时,环境中既没有镜像也没有卷,这时候往往 需要上传一些已有的镜像,或者上传ISO文件来安装虚拟机系统.这个文档主要描述如何上传 ...
- Devices下设备的进程显示为问号的问题
adb shell getprop ro.debuggable 返回 ro.debuggable=0 说明这个机子的版本不是userdebug版本,是user版本 只有这 ...
- 基于ADB框架Robotium跨进程操作
转自:http://blog.csdn.net/qingchunjun/article/details/42580937 2015年2月3日更新: 有些朋友在用真机尝试本方法时,抛出了InputStr ...
- Ajax的简单实现(Json)
之前写的是一般的Ajax if (request.status === 200) { document.getElementById("createResult").innerHT ...
- Django之cookie 和 session
一. 1.cookie的由来!!! 由于HTTP协议是无状态的,既每一次的请求都是独立的,他不会因为你之前来过,就记住你,所以每次浏览器去访问服务器的时候,都是一个全新的过程,之前的数据也不会保留,所 ...
- 关于sh,bash和dash
1 debian下shell脚本的执行过程 当sh xxx.sh,或则./xxx.sh时,默认是sh解释器来执行这个shell脚本的,但是sh是到bash的软连接,所以本质上还是bash来解析这she ...
- ossfs常见配置错误
以下问题出现在非root用户下 执行echo ××××> /etc/passwd-ossfs bash: /etc/passwd-ossfs: Permission denied 使用sudo ...
- MapReduce ChainMapper/ChainReducer
The ChainMapper class allows to use multiple Mapper classes within a single Map task. The ChainRedu ...