2026 Summer Day17
QOJ 15321 AGI
将一个序列 分为两个集合 ,要求 ,、问是否可行。
如果我们统计每个 出现的次数 ,那么 一定是成对被两人轮流取走的,不然先手就更可能达成目标。我们只需要考虑 和 为奇数的 ,令 为所有 为奇数的 的异或和。不难发现先手获胜只有一下两种情况:
-
为奇数的 的个数为 且 ;
-
为奇数的 的个数为 且 为其中之一。
AGC002 E-Candy Piles
由于每次要么删除一行,要么删除最多的一列,所以不妨把 按照猜从大到小的顺序排序,然后问题就转化为了 在一个梯状地图内,每次可以向右或者向上一步,先碰到地图边界的人失败,求是否先手必胜。
考虑什么情况下是先手必胜的。假设当前这个点是 ,如果这个点到上边界和右边界的距离有一个为奇数,则当前这个点先手必胜。而且这道题目当中,童宁一条对角线上的胜负状态是一致的。因为每次移动都会走到一条新的对角线上,但是接下来的那个人又可以反着移动到原来的那条对角线上。所以我们考虑 最大的、在地图内的点 的胜负状态即可。
ARC168 B-Arbitrary Nim
这道题在原本的 Nim 游戏上增加了最多取走 个的限制,但是发现 后,对新的是否必胜的判定就和 Nim 游戏一样了。
考虑输出 的情况,若原本的序列满足 ,那么所有 均满足条件。
然后是输出 0 的情况,如果 ,则这两个数 依然是相等的。所以最后是否合法还是和他们出现次数的奇偶性相关。分类讨论即可。
Comments
Quiet notes for this article.