Loading

CF1411G No Game No Life

猜它是一个 multi-sg,只用算出每个位置的 sg 值。不过注意到这是一个图,你要求 mex 肯定不会太大,毛咕咕一下不会超过 \(\sqrt{m}\)。并且根据均摊,你求 mex 的复杂度是 \(O(m)\) 的。接下来相当于你有一个数 \(v\) 每次选一个点异或上它的 sg 值,求最后是 \(0\) 的概率。枚举这个过程一共进行了 \(i\) 轮,每一轮相当于一个异或卷积,令 \(F\) 是 sg 值为 \(i\) 的概率的生成函数。有:

\[ans=1-[x^0]\frac{\sum_{n\ge 1}F(x)^{n}}{n+1} \]

注意到异或卷积是线性变换,你要求逆等价于 fwt 之后求逆再 ifwt 回去。于是有逆的充分必要条件即为 fwt 之后任意一位不是 \(0\)。下面来证明这道题符合条件。

思考 fwt 的本质,是在做一个容斥,每一项的系数是 \(\pm 1\),而所有的总和是 \(\frac{n}{n+1}\)。于是一个 \(F\) 在 fwt 之后的范围是 \([-\frac{n}{n+1},\frac{n}{n+1}]\)。而取反后加 \(1\) 的范围就是 \([1-\frac{n}{n+1},1+\frac{n}{n+1}]\) 一定不为 \(0\)

posted @ 2023-06-26 21:51  Gemini7X  阅读(5)  评论(0编辑  收藏  举报
Title