CF1823E

发布时间 2023-08-29 21:26:41作者: FOX_konata

原题

翻译

前置知识:SG函数

首先容易发现这是一个组合型组合博弈问题,因此我们先对于每一个子问题单独考虑

容易发现对于一个环我们进行第一次操作会把他拆成一个链,因此我们考虑链的\(SG\)函数

\(f_i\)表示长为\(i\)的链的\(SG\)函数值,容易得到转移:

\[f_i = mex_{j \in [l,r],k=0 -> i-j}{f_k \oplus f_{i-j-k}} \]

同理,设\(g_i\)表示长为\(i\)的环的\(SG\)函数值,容易得到转移:

\[g_i = mex_{j \in [l,r]}{f_{i-j}} \]

然后打表后发现虽然\(f_i\)没什么规律,但是\(g_i\)有规律

\[g_i = \begin{cases} \lfloor \frac{i}{l} \rfloor,& (i < l + r) \\ 0,& (i \geq l + r) \end{cases} \]

最终复杂度\(O(n)\),瓶颈在于并查集找环