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\)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章