白色石子堆的 SG 函数就是它们的异或。
要计算黑色石子堆的 SG 函数,设其中最小的一堆为 $x$;有 $c$ 堆等于 $x$;$y$ 是 $1$ 当所有的黑色石子堆都相等,否则是 $0$。则 SG 函数为 $x-(c\bmod 2)\operatorname{xor}y$。
从大到小枚举选择的最小的黑色石子堆以及奇偶性,用线性基计算比它大的数的方案数。再考虑所有石子堆都相等的情况。最后加上全部白色的方案。
时间复杂度 $O(n\log\max\{a_i\})$。
As we are currently experiencing an overwhelming number of web requests for fetching user submissions, we have temporarily disabled the full submissions list. You must now be logged in to view submissions.
Type: Editorial
Status: Open
Posted by: jiangly
Posted at: 2025-12-13 00:21:11
Last updated: 2025-12-13 00:21:15
白色石子堆的 SG 函数就是它们的异或。
要计算黑色石子堆的 SG 函数,设其中最小的一堆为 $x$;有 $c$ 堆等于 $x$;$y$ 是 $1$ 当所有的黑色石子堆都相等,否则是 $0$。则 SG 函数为 $x-(c\bmod 2)\operatorname{xor}y$。
从大到小枚举选择的最小的黑色石子堆以及奇偶性,用线性基计算比它大的数的方案数。再考虑所有石子堆都相等的情况。最后加上全部白色的方案。
时间复杂度 $O(n\log\max\{a_i\})$。