数论2
题目描述:给出a,b求出\(C_a^b\)模1e9+7的结果
思路1. 运用组合递推式
\[C_a^b=C_{a-1}^b+C_{a-1}^{b-1}
\]
思路2. 运用快速幂求逆元的思路
由费马小定理
\[x\equiv 1(\mathrm{mod}\;p)\Rightarrow x^{p-1}\equiv 1(\mathrm{mod}\;p)
\]
故可以得到x逆元mod p的结果,将求阶乘中的除法转换为乘法
思路3. 卢卡斯定理
\[\displaystyle{C_{n}^{m}\mathrm{mod}\;p=C_{[n/p]}^{[m/p]}\cdot C_{n\%p}^{m\%p}}
\]
证明见:卢卡斯定理证明
思路4. 筛质数+质因数分解+逆元+高精度
5. 卡特兰数
\[C_{2n}^n-C_{2n}^{n-1}=\frac{C_{2n}^{n}}{n+1}
\]

c++计算组合数的四种方法
浙公网安备 33010602011771号