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])
相关推荐
DoraBigHead39 分钟前
小哆啦解题记——异位词界的社交网络
算法
木头左2 小时前
逻辑回归的Python实现与优化
python·算法·逻辑回归
quant_19863 小时前
R语言如何接入实时行情接口
开发语言·经验分享·笔记·python·websocket·金融·r语言
Liudef066 小时前
儿童趣味记忆配对游戏
css·游戏·css3
lifallen6 小时前
Paimon LSM Tree Compaction 策略
java·大数据·数据结构·数据库·算法·lsm-tree
失败又激情的man8 小时前
python之requests库解析
开发语言·爬虫·python
打酱油的;8 小时前
爬虫-request处理get
爬虫·python·django
web_Hsir8 小时前
vue3.2 前端动态分页算法
前端·算法
用什么都重名10 小时前
MinerU:高效智能PDF文档解析工具完全指南
人工智能·python·pdf·mineru·makedown
crazy_yun10 小时前
通用游戏前端架构设计思考
游戏