专栏文章

演剧题解

P13309题解参与者 2已保存评论 3

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
3 条
当前快照
1 份
快照标识符
@miov51e9
此快照首次捕获于
2025/12/03 01:39
3 个月前
此快照最后确认于
2025/12/03 01:39
3 个月前
查看原文
出题人题解。

题目描述

雪和 K 在一个长度为 nn 的序列上博弈。
雪和 K 轮流行动。雪先手。每次操作方可以把序列从一个分割点分成非空的两个部分,然后由博弈的另一方删去其中一个部分,继续对剩下的一部分博弈。
具体的,第一轮由雪分割 K 删去,第二轮由 K 分割雪删去,第三轮由雪分割 K 删去。
当最后只剩下一个数而一方无法操作时游戏终止。雪想让此时剩下的最后一个数尽量大,K 想让它尽量小。
假设两人绝对聪明,试求出最后剩下的数。
对于所有数据,1T10,1n105,1ai1091\le T\le 10,1\le n\le 10^5,1\le a_i\le 10^9

题解

结论:

nn 为奇数,则答案为中位数。
nn 为偶数,将序列较大的中位数记为 x1x_1,另一个记为 x2x_2,并把 aix1a_i\ge x_1 的数标记为 bi=1b_i=1,否则为 bi=1b_i=-1
bb 可以分成的最多和为 00 的连续段的数量 CC
CC 为奇数时答案为 x2x_2,否则答案为 x1x_1

证明:

可以考虑归纳法证明。现在我们要证明大小为 nn 的序列,不妨假设 <n<n 的序列都按照上文的结论判断答案。边界是简单的。
由于先后手交换,我们不妨套路的确定答案为 yy,然后把 y\ge y 的数赋为 11,否则为 1-1。每次让给对方以后每个数要取相反数。
重新写出结论:和为正时赢,和为负时输,和为 00 时按照上文方法判断。
若和为正,则一定可以找到一个最小的分割点,满足左半边和为 00。或者是找到两边都和为正。切割以后显然赢。
若和为负,至少有一边会和为负,所以肯定输。
若和为 00,不能分成一正一负。只能分一段时肯定输,两段时肯定赢,三段输,以此归纳即可。

评论

3 条评论,欢迎与作者交流。

正在加载评论...