1. 程式人生 > 其它 >LGP2490口胡

LGP2490口胡

有點兒神祕?

根據他這個題意說的,白子向右的第一個一定是對應的黑子啊。

所以棋子的絕對位置是不重要的,我們只需要考慮白子和黑子的相對位置,然後考慮用 GF 來拼湊狀態就好了。

下面的 \(k\) 是題面中的 \(\frac{k}{2}\)

這是一個 k-nim。\(k\) 堆石頭每次最多選 \(d\) 堆。

先丟結論:設 \(x_i\)\(x\) 在二進位制下的第 \(i\) 位,那麼先手必敗的條件一定滿足對於任意 \(i\)\(\sum_{j=1}^k(x_j)_i \bmod(d+1)=0\)

證明不會(

根據這個我們就可以考慮 GF 了!!!!!!

我們設單塊(一對黑白子)的 GF 為 \(F(x,y)\)

,那麼有:

\[F(x,y)=x^2\prod_{i=0}\sum_{j=0}^1x^{2^{ij}}y_i^j \]

我們知道有 \(n-2k\) 個位置是空的,空格被黑白子分成了 \(k+2\) 段,那麼我們再設一個:

\[G(x)=\sum_{i=0}x^i=\frac{1}{1-x} \]

我們有:

\[H(x,y)=G^{k+2}(x)F^k(x,y) \]

答案是

\[[x^n]\sum_{d+1|k_i}[\prod y_i^{k_i}]H(x,y) \]

雖然看上去很奇怪,但是我們成功寫成了 GF 的形式

我們先考慮 \(F^k\) 是個什麼鬼東西:

\[x^{2k}\prod_{i=0}(x^{2^i}y_j+1)^k \]