AcWing刷题-游戏

游戏


DP

python 复制代码
l = lambda: [int(x) for x in input().split()]

n = l()[0]
w = [0]
while len(w) <= n:
	w += l()

s = [0] * (n + 1)
for i in range(1, n + 1): 
    s[i] = s[i - 1] + w[i]

f = [[0] * (n + 1) for _ in range(n + 1)]

for i in range(1, n + 1): 
    f[i][i] = w[i]

for length in range(2, n + 1):
  for i in range(1, n - length + 2):
    j = i + length - 1
    # 取最优解
    f[i][j] = max(
      s[j] - s[i - 1] - f[i + 1][j],
      s[j] - s[i - 1] - f[i][j - 1]
    )

print(f[1][n], s[n] - f[1][n])
相关推荐
电化学仪器白超3 分钟前
梅特勒-托利多自动滴定管产品线全览
网络·python·单片机
阿图灵9 分钟前
OpenCV 图像操作六件套:读取、裁剪、缩放、旋转、通道分割与保存
图像处理·人工智能·python·深度学习·opencv·计算机视觉
Nil20811 分钟前
leetcode 230二叉搜索树中第k小的元素
算法·leetcode·职场和发展
被怪兽吃掉了11 分钟前
5.2.1一维组数定义方式
开发语言·c++·算法
不会就选b14 分钟前
Linux之线程进阶---封装信号量
数据结构·算法
不会就选b16 分钟前
算法日常・每日刷题--<BFS&&最短路径>4
算法·宽度优先
桐桐桐17 分钟前
Python 实战:批量生成带来源参数的 WhatsApp 短链 + 二维码
服务器·数据库·python·前端框架·ip·跨境电商·独立站
旖旎夜光19 分钟前
LeetCode 69:x 的平方根(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
TheBestRucy19 分钟前
Python 九阳神功之肆:网络编程 · Socket 从入门到实战
开发语言·网络·python
sel_929 分钟前
【Pytorch】PyTorch 深度学习框架详解:从安装到实战
人工智能·pytorch·深度学习·算法·语言模型