$Super$ $Particle$ $Cannon$
$Description$
求
$$
\sum_{i = 0}^{k} C_n^i \bmod 2333
$$
$Solution$
设
$$
f(n, k) = \sum_{i = 0}^{k} C_n^i
$$
即
$$
\sum_{i = 0}^{k}C_{n / p}^{i / p} \times C_{n \% p}^{i \% p}
$$
数论分块一下,此处将其分成 $k / p$ 个块,许多数字同属一个块,就一起算掉。
$$
\sum_{i = 0}^{p - 1}C_{n \% p}^{i}C_{n / p}^{0} + \sum_{i = 0}^{p - 1}C_{n \% p}^{i}C_{n / p}^{1} + … + \sum_{i = 0}^{p - 1}C_{n \% p}^{i}C_{n / p}^{k / p - 1} + \sum_{i = 0}^{k \% p}C_{n \% p}^{i}C_{n / p}^{k / p}
$$
把 $\sum_{i = 0}^{p - 1}C_{n \% p}^{i}$ 提出来
$$
\sum_{i = 0}^{p - 1}C_{n \% p}^{i} \sum_{i = 0}^{k}C_{n / p}^{i / p - 1}
$$
也就是
$$
f(n \% p, p - 1) \times f(n / p, k / p - 1)
$$
最后一个不完整的块单独处理
$$
\sum_{i = 0}^{k \% p}C_{n \% p}^{i}
$$
即
$$
f(n \% p,k \% p)
$$
所以
$$
f(n, k) = f(n \% p, p - 1) \times f(n / p, k / p - 1) + C_{n / p}^{k / p} \times f(n \% p, k \% p)
$$
预处理组合数,套个 $Lucas$ 就完了。
$Code:$
1 |
|