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])
相关推荐
量子炒饭大师1 分钟前
【优化算法:双指针算法刷题宝典】—— 盛最多水的容器
c++·算法
IT猿手3 分钟前
多无人机动态避障路径规划研究:基于壁虎优化算法GJA的多无人机动态避障路径规划研究(可以自定义无人机数量及起始点),MATLAB代码
算法·matlab·无人机
川石课堂软件测试5 分钟前
AI如何赋能软件测试行业的发展
人工智能·python·功能测试·网络协议·单元测试·测试用例·prometheus
listhi5206 分钟前
MATLAB电力系统加权最小二乘法(WLS)状态估计
算法·matlab·最小二乘法
风酥糖8 分钟前
Godot游戏练习01-第32节-国际化
游戏·游戏引擎·godot
weixin_381288188 分钟前
HTML5中Noscript标签在脚本禁用环境下的补救
jvm·数据库·python
Epiphany.5568 分钟前
树上dp问题
数据结构·算法
无籽西瓜a10 分钟前
MD5算法原理、适用场景
java·后端·算法·哈希算法·md5
Ares-Wang11 分钟前
flask 》》内置HTMLParser
后端·python·flask
承渊政道12 分钟前
【动态规划算法】(简单多状态dp问题入门与经典题型解析)
数据结构·c++·学习·算法·leetcode·macos·动态规划