zyb 的 Codeforces Round 983 (Div. 2)
参赛情况
link
Rank 520, Solved 4, Non-AC Submits 5.
e就差两分钟(没查出 -1 % 2 != 0
),细节挺多的。
题目回顾
D. Genokraken
交互题,感觉是无聊的题。
询问可以知道两个点是否在子树中,所有 p i p_i pi 是递增的,所以根据单调性可以直接询问,我认为反着问更快,因为点 1 1 1 的性质表明如果 p i = 1 p_i=1 pi=1,那么所有 j < i j<i j<i 都有 p j = 0 p_j=0 pj=0。
我不懂为什么要特别给出点 1 1 1 的特殊性质(点 1 1 1 必有儿子节点),不给可以 n n n 次询问,给了可以 min ( 2 n − 6 , n ) \min(2n-6,n) min(2n−6,n),目的何在呢?
E. Balanced
默认 a 0 a_0 a0 即 a n a_n an,考虑相邻两项,有 v i + v i − 1 + a i = v i + 1 + v i + 2 + a i + 1 v_i+v_{i-1}+a_i=v_{i+1}+v_{i+2}+a_{i+1} vi+vi−1+ai=vi+1+vi+2+ai+1,令 f i = v i + v i − 1 f_i=v_i+v_{i-1} fi=vi+vi−1,根据 a a a 可以推的 f f f 的解(应当有无数组解,任意两组解每一项的差值相同),然后可以推到 v v v,但不一定有整数解,但相邻两个 f f f 的解必有一个整数解,因为 f + 1 f+1 f+1 这组的解为 a + 0.5 a+0.5 a+0.5。
F. Peanuts
反 Nim 游戏你会吗?
首先我们可以学习一下 Nim 游戏 和 反 Nim 游戏。
然后我们有一个发现,如果一个游戏中 a a a 不全为 1 1 1(下简称为非全一游戏; a a a 全为 1 1 1 则称为全一游戏),那么胜负判据相同,即 ⊕ a i ≠ 0 \oplus{a_i}\neq0 ⊕ai=0,则先手一定可以掌握最后一步谁走, ⊕ a i = 0 \oplus{a_i}=0 ⊕ai=0,则后手一定可以掌握最后一步谁走。再发现全一游戏的结果唯一,只与其个数有关,与玩家策略无关。进而想到第一个非全一游戏的主导一方必然可以主导之后的所有游戏。
实现方法上和官方题解略有不同。我根据前缀 1 1 1 的奇偶性来判断,下一个 box 中 ⊕ a i = 0 \oplus{a_i}=0 ⊕ai=0 对 Alice 是必胜,还是 ⊕ a i ≠ 0 \oplus{a_i}\neq0 ⊕ai=0 对 Alice 是必胜。
总结
前两题细节多,我 wa 了无数次,第四五题难度不在线,而且第四题我个人不喜欢(虽然高高兴兴地做出来拿了分)。所以赛后感觉很失望。但是看第六题还是感觉很有趣的。