P3807 模板卢卡斯定理

Posted tony-double-sky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P3807 模板卢卡斯定理相关的知识,希望对你有一定的参考价值。

P3807 【模板】卢卡斯定理

(C_{m + n}^{m} \% p) ( (1le n,m,ple 10^5) )


错误日志: 数组开小(洼地hi阿偶我姑父阿贺佛奥UFO爱我帮你)


Pre

好的我们继续恶补数学
首先复习一下 (O(N)) 求质数逆元的方法[inv[1] = 1][inv[i] = (p - p / i) * inv[p \% i] \% p (i >= 2)]

LL inv[maxn];
void get_inv(LL n){
    inv[1] = 1;
    for(LL i = 2;i <= n;i++)inv[i] = (p - p / i) * inv[p % i] % p;
    }

然后是 (O(m))(C_{n}^{m} \% p)[C_{n}^{m}\% p = frac{n!}{m!(n - m)!}\% p][=frac{(n - m + 1) * (n - m +2) * ... * n}{m!}\% p][=(frac{n - m + 1}{1}\% p) * (frac{n - m + 2}{2}\% p) * ... * (frac{n}{m}\% p)]
其中除法取模可以用上面的逆元计算, 求解一个组合数的复杂度为 (O(m))

以上是关于P3807 模板卢卡斯定理的主要内容,如果未能解决你的问题,请参考以下文章

洛谷——P3807 模板卢卡斯定理

luogu P3807 卢卡斯定理 模板

洛谷 P3807 模板卢卡斯定理

刷题洛谷 P3807 模板卢卡斯定理

学习笔记卢卡斯定理

组合数学