现在主要是以cf上比赛为主了,以后除了我觉得很有必要总结一下的题目,不会每道题都记录在博客上了。这题是一道DP,看起来很像博弈论,但是其中的思想还是有点新颖的。

题意:

给出一系列数,有两个人,每次从这些数的最左边拿走k个数,范围为2~m。特别之处在于,拿走后会把拿走的数的和作为一个新的数放在最左边,要求两个人拿走数之差的最大值。

要点:

看起来很像博弈论,但是其实不是,因为每次拿走后都会将一个等值的数放回,所以我们可以用a[i]数组存储前i个数的和,然后用f表示最大差,现在已经知道如果第一个人将所有数全部拿走的结果是a[n],这样可以写出状态转移方程为ans = max(ans, a[i] - ans),这里解释一下:我们从前找一个点i,那么就是拿a[i],这样下一步的人就会拿到最大差对应的那个分界点,这样两个人的差即为a[i]-f,可以自己用笔算一下就比较清楚了。

#include<iostream>
#include<algorithm>
using namespace std;
long long a[200010];int main()
{int n,x;scanf("%d", &n);for (int i = 1; i <= n; i++){scanf("%d", &x);a[i] += a[i - 1] + x;}long long ans = a[n];for (int i = n - 1; i>=2; i--){ans = max(ans, a[i] - ans);}printf("%I64d\n", ans);return 0;
}

转载于:https://www.cnblogs.com/seasonal/p/10343672.html

codeforces731E Funny Game(DP)相关推荐

  1. 求三角形最大面积(DP)

    求三角形最大面积(DP) 在OJ上奇迹般WA了:WA:70. Why? #include <iostream> #include <string.h> using namesp ...

  2. LeetCode 编辑距离 II(DP)

    1. 题目 给你两个单词 s 和 t,请你计算出将 s 转换成 t 所使用的最少操作数. 你可以对一个单词进行如下两种操作: 删除一个字符 替换一个字符 注意: 不允许插入操作 题目保证有解 示例: ...

  3. LeetCode 1220. 统计元音字母序列的数目(DP)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串: - 字符串中的每个字符都应当是小写元音字母('a', 'e', 'i ...

  4. LeetCode 265. 粉刷房子 II(DP)

    文章目录 1. 题目 2. 解题 1. 题目 假如有一排房子,共 n 个,每个房子可以被粉刷成 k 种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同. 当然,因为市场上不同颜色油 ...

  5. LeetCode 256. 粉刷房子(DP)

    文章目录 1. 题目 2. 解题 1. 题目 假如有一排房子,共 n 个,每个房子可以被粉刷成红色.蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其与相邻的两个房子颜色不能相同. 当然,因 ...

  6. LeetCode 1223. 掷骰子模拟(DP)

    1. 题目 有一个骰子模拟器会每次投掷的时候生成一个 1 到 6 的随机数. 不过我们在使用它时有个约束,就是使得投掷骰子时,连续 掷出数字 i 的次数不能超过 rollMax[i](i 从 1 开始 ...

  7. LeetCode 1155. 掷骰子的N种方法(DP)

    1. 题目 这里有 d 个一样的骰子,每个骰子上都有 f 个面,分别标号为 1, 2, -, f. 我们约定:掷骰子的得到总点数为各骰子面朝上的数字的总和. 如果需要掷出的总点数为 target,请你 ...

  8. LeetCode 1139. 最大的以 1 为边界的正方形(DP)

    1. 题目 给你一个由若干 0 和 1 组成的二维网格 grid,请你找出边界全部由 1 组成的最大 正方形 子网格,并返回该子网格中的元素数量.如果不存在,则返回 0. 示例 1: 输入:grid ...

  9. 程序员面试金典 - 面试题 17.23. 最大黑方阵(DP)

    1. 题目 给定一个方阵,其中每个单元(像素)非黑即白. 设计一个算法,找出 4 条边皆为黑色像素的最大子方阵. 返回一个数组 [r, c, size] ,其中 r, c 分别代表子方阵左上角的行号和 ...

最新文章

  1. 腾讯首位17级杰出科学家诞生:腾讯AI Lab负责人张正友
  2. 复旦教授:在一般院校里,我可能连当副教授都不够格
  3. 精度首超ResNet,港科大和CMU提出史上最强二值化网络ReActNet
  4. golang import 导入包语法介绍 点 别名 下划线
  5. linux 中文乱码问题的解决方法
  6. 基础知识很扎实 - 但是面试就是做不出来, 怎么办? (长, 慎入)
  7. 当涌泉相报局域网聊天
  8. jmail mysql_利用VB+jmail发送邮件源码
  9. 红外传感器型号和参数_浅析温度传感器原理
  10. ubuntu 安装java插件_Ubuntu下安装JAVA插件欣赏精美网页
  11. 计算机窗口显示桌面,Windows Server 2012 R2在桌面上显示计算机/网络图标
  12. GM505高斯计使用方法图解
  13. 什么是网络操作系统?网络操作系统具有哪些基本功能?
  14. 旋转矩阵(Rotate Matrix)的性质分析
  15. angular-busy用法
  16. SpringBoot整合jsp
  17. 问卷设计一:问卷题目哪些有类型和注意要点?
  18. IP电话系统和VoIP系统使用指南
  19. 模具行业ERP信息化(转)
  20. 快慢缓急总相宜|ONES 人物

热门文章

  1. Swarm搭建Docker集群
  2. List和Set中忽略的方法addAll(Collection c)和retainAll(Collection c)
  3. 透彻理解Java并发的等待队列——Condition
  4. unity 竖屏不能全屏显示
  5. Hibernate Session和Jpa EntityManager
  6. 最近让我焦灼的四个问题
  7. [译]Perl中的数组
  8. HAProxy+Hive构建高可用数据挖掘集群
  9. gem ruby on rails 安装出错GemNotFoundException
  10. oracle性能优化总结1