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])
相关推荐
sinat_38343736几秒前
如何在 Ubuntu Core(Snappy)上部署 Go Web 服务
jvm·数据库·python
pele3 分钟前
怎么诊断MongoDB Config Server响应极慢的问题_高频Auto-split导致的元库写入压力
jvm·数据库·python
itzixiao3 分钟前
L1-058 6翻了(15分)[java][python]
java·开发语言·python·算法
念何架构之路4 分钟前
数组和切片实战
数据结构·算法·排序算法
重生之我是Java开发战士6 分钟前
【数据结构】AVL树解析
数据结构·算法
qq_206901397 分钟前
c++怎么在Linux下获取文件被最后一次访问的精确纳秒时间【进阶】
jvm·数据库·python
hakesashou7 分钟前
python如何保存img文件
开发语言·python
小π军9 分钟前
STL之multiset 常见API介绍
数据结构·c++·算法
MarkHD10 分钟前
调度、监控与部署:Python自动化任务全栈实践
开发语言·python·自动化
m0_7489203610 分钟前
如何让点击目标元素时随机移动到页面任意位置
jvm·数据库·python