版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
title: "题解 - [Luogu P3200] [HNOI2009] 有趣的数列" categories:
我们称一个长度为 $2n$ 的数列是有趣的, 当且仅当该数列满足以下三个条件:
对于给定的 $n$, 请求出有多少个不同的长度为 $2n$ 的有趣的数列. 因为最后的答案可能很大, 所以只要求输出答案对 $p$ 取模
一行两个正整数 $n,p$
输出一行一个整数表示答案
3 10
5
【数据范围】
对于 $50\%$ 的数据, $1\le n \le 1000$;
对于 $100\%$ 的数据, $1\le n \le 10^6$, $1\le p \le 10^9$
【样例解释】
对应的 5 个有趣的数列分别为 (1,2,3,4,5,6), (1,2,3,5,4,6), (1,3,2,4,5,6), (1,3,2,5,4,6), (1,4,2,5,3,6)
求
$$ H_{n-1}\bmod p={ \binom{2n}{n}\over n+1}\bmod p $$
首先筛出所有素数, 然后计算答案唯一分解式的各个幂次即可
注意到 $(ab)^c=a^cb^c$, 故这些幂次可以逆序线性递推得到
$O(n)$