1. 程式人生 > >CF712D Memory and Scores

CF712D Memory and Scores

題目分析

實際上兩個人輪流取十分雞肋,可以看作一個人取2t次。

考慮生成函式。

為了方便,我們對取的數向右偏移k位。

取2t次的生成函式為:
\[ F(x)=(\sum_{i=0}^{2k}x_i)^{2t} \]

化一下式子:
\[ \begin{split} F(x)&=(\frac{1-x^{2k+1}}{1-x})^{2t}\\ &=(1-x^{2k+1})^{2t}\cdot(1-x)^{-2t} \end{split} \]

對兩個式子分別二項式展開:
\[ \begin{split} F(x)&=\sum_{i=0}^{2t}(-1)^{2t-i}\binom{2t}{i}x^i\sum_j^{\infty}\binom{2t+j-1}{j}x^j \end{split} \]

顯然可以考慮FFT了。

我們對\(\sum_j^{\infty}\binom{2t+j-1}{j}x^j\)求一個字首和,列舉i每次\(O(1)\)計算貢獻即可。

時間複雜度\(O(kt)\)