卢卡斯定理 学习笔记
引入
Lucas 定理用于求解大组合数取模的问题,其中模数必须为素数。正常的组合数运算可以通过递推公式求解,但当问题规模很大,而模数是一个不大的质数的时候,就不能简单地通过递推求解来得到答案,需要用到 Lucas 定理。
定义
Lucas 定理内容如下:对于质数
观察上述表达式,可知
时间复杂度为
证明
考虑
注意过程中没有用到费马小定理,因此这一推导不仅适用于整数,亦适用于多项式。因此我们可以考虑二项式
考虑二项式
注意前者只有在
exLucas 定理
Lucas 定理中对于模数