Candy Piles
题目大意
有 $n$ 个数,两人玩游戏,每次可以取最大的变 $0$ 或把所有的非零数减 $1$,把全部的数变 $0$ 的人会输,问是否先手必胜。
数据范围:$n \le 10^5$。
只要你跑的够快,锅就追不上你
第一类斯特林数 $s(n, m)$ 表示长度为 $n$ 的置换有 $m$ 个环的方案数。
第一类斯特林数有递推式 $s(n, m) = s(n - 1, m - 1) + s(n - 1, m) \times (n - 1)$,(讨论第 $n$ 个数新开一个环或者接在之前某个数后面),还有 $s(n, m) = \sum_{i = 1}^n s(n - i, m - 1) \times (i - 1)! \times C(n - 1, i - 1)$(枚举第一个数所在的环的大小,并考虑其他数的排法)。
可以用分治 FFT 在 $O(n \log^2 n)$ 的时间内求出第一类斯特林数的一行。