AcWing刷题-游戏

游戏

在这里插入图片描述
在这里插入图片描述

DP

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. 蓝桥杯-游戏

    2024-04-02 01:58:01       32 阅读
  2. AcWing 667. 游戏时间

    2024-04-02 01:58:01       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 01:58:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 01:58:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 01:58:01       87 阅读
  4. Python语言-面向对象

    2024-04-02 01:58:01       96 阅读

热门阅读

  1. Open CASCADE学习|Standard_EXPORT

    2024-04-02 01:58:01       36 阅读
  2. 保研机试算法训练个人记录笔记(六)——模拟

    2024-04-02 01:58:01       33 阅读
  3. 如何在Python中实现多线程和多进程?

    2024-04-02 01:58:01       32 阅读
  4. Redis中是如何初始化服务器的?

    2024-04-02 01:58:01       35 阅读
  5. 【C语言】带你完全理解指针(三)函数指针数组

    2024-04-02 01:58:01       33 阅读