博弈论+dp

依旧是博弈论的壳子,但问的是最大值,所以要dp
设 dp[i][j] 表示该取 i 号硬币,上一次取了 j 个的先手能取的最大值,
因为每次从小到大枚举复杂度太高,所以我们要从 dp[i][i - 1] 转移,每次新加两个状态即可

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int MAXN = 2030;
int init() {int rv = 0, fh = 1;char c = getchar();while(c < '0' || c > '9') {if(c == '-') fh = -1;c = getchar();}while(c >= '0' && c <= '9') {rv = (rv<<1) + (rv<<3) + c - '0';c = getchar();}return fh * rv;
}
int n, num[MAXN], pre[MAXN], dp[MAXN][MAXN];
int main() {freopen("in.txt", "r", stdin);n = init();for(int i = n ; i >= 1 ; i--) {num[i] = init();}for(int i = 1 ; i <= n ; i++) {pre[i] = pre[i - 1] + num[i];}for(int i = 1 ; i <= n ; i++) {for(int j = 1 ; j <= n ; j++) {dp[i][j] = dp[i][j - 1];int k = j * 2 - 1;if(i >= k) dp[i][j] = max(dp[i][j], pre[i] - dp[i - k][k]);k++;if(i >= k) dp[i][j] = max(dp[i][j], pre[i] - dp[i - k][k]);}}cout<<dp[n][1]<<endl;fclose(stdin);return 0;
}

转载于:https://www.cnblogs.com/Mr-WolframsMgcBox/p/8485947.html

洛谷 [P2964] 硬币的游戏相关推荐

  1. 洛谷P1129 [ZJOI2007] 矩阵游戏 题解

    洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...

  2. 洛谷 洛谷 P2708 硬币翻转(高端算法)

    //DAY3.B //题源:洛谷 P2708 硬币翻转 //原题链接:https://www.luogu.com.cn/problem/P2708 #include<stdio.h> #i ...

  3. 洛谷解题P1000 超级玛丽游戏(C++)

    此文章关于洛谷P1000 超级玛丽游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1000题目的解析: 先看题 ...

  4. 洛谷 P2001 硬币的面值 题解

    原题链接 P2001 硬币的面值 - 洛谷 | 计算机科学教育新生态 题目描述 小A有 n n n 枚硬币,现在要买一样不超过 m m m 元的商品,他不想得到找钱(多脏啊),同时又不想带太多的硬币, ...

  5. 【bzoj3240 洛谷P1397】矩阵游戏[NOI2013](矩阵乘法+卡常)

    题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3240 这道题其实有普通快速幂+费马小定理的解法--然而我太弱了,一开始只想到了矩阵乘法的 ...

  6. [洛谷P2584][ZJOI2006]GameZ游戏排名系统

    题目大意:同[洛谷P4291][HAOI2008]排名系统(双倍经验) 题解:略 卡点:无 C++ Code: #include <cstdio> #include <map> ...

  7. 洛谷P1288 取数游戏II[博弈论]

    题目描述 有一个取数的游戏.初始时,给出一个环,环上的每条边上都有一个非负整数.这些整数中至少有一个0.然后,将一枚硬币放在环上的一个节点上.两个玩家就是以这个放硬币的节点为起点开始这个游戏,两人轮流 ...

  8. 洛谷P2252 取石子游戏(威佐夫博弈)

    题目背景 无 题目描述 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...

  9. 洛谷——P2708 硬币翻转

    https://www.luogu.org/problem/show?pid=2708#sub 题目背景 难度系数:☆☆☆☆☆(如果你看懂了) 题目描述 从前有很多个硬币摆在一行,有正面朝上的,也有背 ...

最新文章

  1. HAproxy Json日志格式配置
  2. SAP UI5 初学者教程之应用开发 - 过滤器 filter 的开发和使用
  3. Yii2 认证实现原理和示例
  4. 苹果查询水货苹果笔记本(Mac Book)验机流程
  5. 常用浏览器的编码设置
  6. java中double类型显示两个小数,比如12.00
  7. 做{...}而(0) - 有什么好处? [重复]
  8. html页面发送post请求中文乱码,用XMLHTTP Post/Get HTML页面时的中文乱码问题之完全Script解决方案...
  9. 【随机数】深入理解random和srandom
  10. Itext 中的文本信息绝对定位
  11. 在终端terminal运行ReactNative程序经常出现的问题
  12. 计算机及网络保密检查记录表,南京航空航天大学涉密计算机保密检查记录表.doc...
  13. 宝宝树小时光品牌升级:让宝宝从小爱上阅读
  14. 软件开发成本度量之类比法估算软件工作量
  15. 智齿科技宣布C轮获用友领投2.1亿战略投资
  16. Ubuntu迅雷下载工具安装使用
  17. c语言三阶素数魔方阵,C语言 三阶魔方阵
  18. 快递单号查询免费api接口(PHP示例)
  19. Windows.old文件夹恢复系统解决方案
  20. 解除Windows 10休眠时自动唤醒设置

热门文章

  1. java数据结构图_java总结数据结构和算法
  2. html页面 sql注入,使用html仅阻止SQL注入
  3. ctfshow-萌新-web10( 利用命令执行漏洞获取网站敏感信息)
  4. 计算机课堂教育叙事,《我与电脑交朋友》教学反思
  5. mysql存储过程核销_mysql存储过程
  6. nginx PHP执行 502 bad gateway 或空白解决笔记
  7. Tablestore Timestream:为海量时序数据存储设计的全新数据模型...
  8. 织梦DedeCMS使用SQL批量替换文章标题内容
  9. Hadoop学习笔记—16.Pig框架学习
  10. [Ogre] 创建Ogre项目的一劳永逸的简单办法