首页 > 其他 > 详细

Lucas定理

时间:2019-10-19 20:59:20      阅读:104      评论:0      收藏:0      [点我收藏+]

绪论

对于大组合数对小质数求余的快速算法。

公式

假设 \(n=\prod_{i=0}^k{a_ip^i},m=\prod_{i=0}^k{b_ip^i}\) ,其中 \(p \in \mathbb{P}\) (就是说,是质数),那么有:

\[C_n^m=\prod_{i=0}^k{C_{a_i}^{b_i}}\]

容易发现,可以表示成:

\[C_n^m=C_{n\mod p}^{m\mod p}\times C_{[\frac{n}{p}]}^{[\frac{m}{p}]}\]

这就是一个容易编码的递归形式。

证明

定义两个多项式同余,为两个多项式的每一次项的系数在模意义下相等。

然后显然,我们有 \(C_n^i=\frac{n!}{i!(n-i)!}=\frac{n}{i}\frac{(n-1)!}{(i-1)!(n-i)!}=\frac{n}{i}C_{n-1}^{i-1}\equiv 0\pmod{p}\)

然后,我们构造关于 \(n\) 的组合数的生成函数:

\[(1+x)^n=(1+x)^{kp+r}=((1+x)^p)^k\times (1+x)^r\equiv(1+x^p)^k\times (1+x)^r\pmod{p}\]

显然,乘积中第 \(m\) 项的系数,要么是 \(0\) ,要么是 \(C_r^{m\mod p}\times C_k^{[\frac{m}{p}]}\) 。于是证明了其表达形式的第二种。

Lucas定理

原文:https://www.cnblogs.com/pupuvovovovo/p/11704967.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!