【蓝桥杯集训·每日一题2025】 AcWing 6118. 蛋糕游戏 python

6118. 蛋糕游戏

Week 1
2月19日

贝茜和埃尔茜发现了一行 N N N 个蛋糕( N N N 为偶数),大小依次为 a 1 , a 2 , ... , a N a_1,a_2,...,a_N a1,a2,...,aN。

两头奶牛都想吃到尽可能多的蛋糕。

但是,作为非常文明的奶牛,她们决定玩一个游戏来分割蛋糕!

游戏在两头奶牛之间轮流进行回合。

每个回合进行以下两者之一:

  1. 贝茜选择两个相邻的蛋糕并将它们堆叠起来,制造大小为两者大小之和的一个新蛋糕。
  2. 埃尔茜选择最左边或最右边的蛋糕藏起来。

当只剩下一个蛋糕时,贝茜吃掉它,而埃尔茜吃掉她藏起来的所有蛋糕。

如果两头奶牛都采取最优策略以最大化她们吃到的蛋糕量,并且贝茜先进行回合,那么每头奶牛将会吃到多少蛋糕?

输入格式

每个测试点包含 T T T 个独立的测试用例。

每个测试用例的格式如下。

第一行包含 N N N。

下一行包含 N N N 个空格分隔的整数 a 1 , a 2 , ... , a N a_1,a_2,...,a_N a1,a2,...,aN。

输出格式

对于每个测试用例,输出一行,包含 b b b 和 e e e,表示贝茜和埃尔茜在两头奶牛都采取最优策略的情况下分别吃到的蛋糕量。

数据范围

1 ≤ T ≤ 10 1 \le T \le 10 1≤T≤10,
2 ≤ N ≤ 5 × 1 0 5 2 \le N \le 5 \times 10^5 2≤N≤5×105,
1 ≤ a i ≤ 1 0 9 1 \le a_i \le 10^9 1≤ai≤109,

输入保证一个测试点中的所有 N N N 之和不超过 1 0 6 10^6 106。

输入样例:
复制代码
2
4
40 30 20 10
4
10 20 30 40
输出样例:
复制代码
60 40
60 40
样例解释

对于第一个测试用例,在最优策略下,

  1. 贝茜将堆叠中间两个蛋糕。现在蛋糕的大小为 40 , 50 , 10 40,50,10 40,50,10
  2. 埃尔茜将吃掉最左边的蛋糕。现在剩余的蛋糕的大小为 50 , 10 50,10 50,10
  3. 贝茜堆叠剩余的两个蛋糕。

贝茜将吃到 30 + 20 + 10 = 60 30+20+10=60 30+20+10=60 的蛋糕,而埃尔茜将吃到 40 40 40 的蛋糕。

第二个测试用例是第一个测试用例反转的情况,因此答案相同。


思路:

贪心 + 前缀和

【算法】 一维前缀和 python

code:

python 复制代码
t = int(input())
for _ in range(t):
    n = int(input())
    a = list(map(int, input().split()))
    pre_sum = [0] * (n + 1)
    for i in range(1, n + 1):
        pre_sum[i] = pre_sum[i - 1] + a[i - 1]

    ans = float('inf')
    len = n // 2 + 1
    for i in range(len, n + 1):
        ans = min(ans, pre_sum[i] - pre_sum[i - len])

    print(ans, sum(a) - ans)

END
如果有更多问题或需要进一步的帮助,可以在评论区留言讨论哦!
如果喜欢的话,请给博主点个关注 谢谢

相关推荐
delishcomcn12 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹12 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
大模型码小白12 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
雪碧聊技术12 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
麻雀飞吧13 小时前
最新量化学习路径,交易认知和技术实现要并行
人工智能·python
CV-Climber15 小时前
检索技术的实际应用
人工智能·算法
hhzz16 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
从零开始的代码生活_16 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
C^h16 小时前
python函数学习
人工智能·python·机器学习