Lucas 定理及其证明、扩展

\[\binom{n}{m}\equiv\binom{n/p}{m/p}\binom{n\bmod p}{m\bmod p}\pmod p,\text{where}\ p\in prime\\
\text{Proof}:\\
(1+x)^p\equiv 1+x^p\pmod{p}\\
n=ap+c,c<p\\
H=\sum_{i\ge 0}\binom{n}{i}x^i=(1+x)^n\\
F=\sum_{i\ge 0}\binom{a}{i}x^{pi}=(1+x^p)^a,G=\sum_{i\ge 0}\binom{c}{i}x^i=(1+x)^c\\
FG=\sum_{i\ge 0}\binom{a}{i}\binom{c}{t}x^{pi+t}=(1+x)^{pa+c}=(1+x)^n=\sum_{i\ge 0}\binom{n}{i}x^i\\
\text{where}\ t<p.\\
\therefore [x^m]FG=[x^m]H
\binom{n}{m}\equiv\binom{n/p}{m/p}\binom{n\bmod p}{m\bmod p}\pmod p\\
\text{QED}.
\]

这个定理可以被拓展为 \(\bmod p^\alpha\) 的情况。

\[x=V_p(n),y=V_p(m),z=V_p(n-m)\\
\binom{n}{m}=\frac{n!}{(n-m)!m!}=\frac{\frac{n!}{p^x}}{\frac{(n-m)!m!}{p^{y+z}}}p^{x-y-z}\\
n!=(P\times 2P\times 3P\times \dots\times \lfloor\frac{n}{P}\rfloor)\prod_{i\bmod p\neq 0}i\\
m=\lfloor\frac{n}{p}\rfloor\\
\therefore\frac{n!}{p^{V_p(n)}}=\frac{m!}{p^{V_p(m!)}}\left(\prod_{i,(i,p)=1}^ni\right)\\
\left(\prod_{i,(i,p)=1}^ni\right)\equiv\left(\prod_{i,(i,p)=1}^{p^{\alpha}}i\right)^m\left(\prod_{i,(i,p)=1}^{n\bmod p^{\alpha}}i\right)\pmod {p^{\alpha}}
\]

两项均可直接得到。时间复杂度:

\[T(n)=T(n/p)+O(p^{\alpha})=O(p^{\alpha}\log_pn)
\]

对于任意 \(p\),使用中国剩余定理合并即可。

Lucas 定理证明与扩展的更多相关文章

  1. lucas定理证明

    Lucas 定理(证明) A.B是非负整数,p是质数.AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]. 则组合数C(A,B)与C(a[n],b[n])* ...

  2. lucas定理 +证明 学习笔记

    lucas定理 p为素数 \[\dbinom n m\equiv\dbinom {n\%p} {m\%p} \dbinom {n/p}{m/p}(mod p)\] 左边一项直接求,右边可递归处理,不包 ...

  3. 【luogu P3807】【模板】卢卡斯定理/Lucas 定理(含 Lucas 定理证明)

    [模板]卢卡斯定理/Lucas 定理 题目链接:luogu P3807 题目大意 求 C(n,n+m)%p 的值. p 保证是质数. 思路 Lucas 定理内容 对于非负整数 \(n\),\(m\), ...

  4. Lucas定理——定义、证明、实现、运用

    目录 什么是Lucas定理 证明Lucas定理 Lucas定理求解组合数的C++实现 什么是Lucas定理 这是一个有助于分解组合数来求解的定理,适合模数小,数字大的问题. 有质数 \(p\),对于\ ...

  5. 大组合数:Lucas定理

    最近碰到一题,问你求mod (p1*p2*p3*……*pl) ,其中n和m数据范围是1~1e18 , l ≤10 , pi ≤ 1e5为不同的质数,并保证M=p1*p2*p3*……*pl ≤ 1e18 ...

  6. Lucas定理及扩展

    Lucas定理 不会证明... 若\(p\)为质数 则\(C(n, m)\equiv C(n/p, m/p)*C(n\%p, m\%p)(mod\ p)\) 扩展 求 \(C(n,m)\) 模 \(M ...

  7. [bzoj2142]礼物(扩展lucas定理+中国剩余定理)

    题意:n件礼物,送给m个人,每人的礼物数确定,求方案数. 解题关键:由于模数不是质数,所以由唯一分解定理, $\bmod  = p_1^{{k_1}}p_2^{{k_2}}......p_s^{{k_ ...

  8. Lucas定理和扩展Lucas定理

    1.Lucas定理 首先给出式子:\(C_n^m\%p = C_{\lfloor\frac{n}{p}\rfloor}^{\lfloor\frac{m}{p}\rfloor} * C_{n\%p}^{ ...

  9. Ceizenpok’s formula Gym - 100633J 扩展Lucas定理 + 中国剩余定理

    http://codeforces.com/gym/100633/problem/J 其实这个解法不难学的,不需要太多的数学.但是证明的话,我可能给不了严格的证明.可以看看这篇文章 http://ww ...

  10. 2023.2.26【模板】扩展Lucas定理

    2023.2.26[模板]扩展Lucas定理 题目概述 求\(\binom {n}{m} mod\) \(p\) 的值,不保证\(p\)为质数 算法流程 (扩展和普通算法毫无关系) 由于\(p\)不是 ...

随机推荐

  1. 使用七牛云上传文件报错incorrect region, please use up-z1.qiniup.com-迷恋自留地

    最近用Git提交代码时,一直报如标题所示的错误.百度了很多都无法解决,包括改更改配置,SSh等.最后在一个论坛上,说可能之前输入的账号或密码有误.尝试后,完美解决. 解决方法: 找到如下图的位置: 可 ...

  2. Zoom

    1.zoom to layer ILayer layer = (ILayer)m_mapControl.CustomProperty; m_mapControl.Extent = layer.Area ...

  3. CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序

    Selenium Selenium 是一款开源且可移植的自动化软件测试工具,专门用于测试网页端应用程序或者采集网页端数据.它能够在不同的浏览器和操作系统上运行,具有很强的跨平台能力.Selenium可 ...

  4. Finereport调用python服务进行大数据量导出

    Finereport调用python服务进行大数据量导出 背景: 在使用finereport过程中,我们发现在数据导出这块一直是一个瓶颈,闲来无事,思索一番,想出来一种场景来应对此问题.供各位大佬参考 ...

  5. .net delegate 万能适配

    遇到一个技术点,记一下,.net 有一个 Delegate Marshall.GetDelegateForFunctionPointer(IntPtr ptr, Type t) 用来将内存地址映射为一 ...

  6. 解锁 Git Log 更多实用技巧

    目前,在软件开发的协作中,Git 无疑是版本控制的王者. 而其中的 git log 命令,犹如一把强大的历史探寻之剑,能够帮助我们深入洞察项目的演进历程. 本篇将为大家整理解读几个实用的 git Lo ...

  7. 【转载】Netty堆外内存泄漏排查

    https://www.imooc.com/article/298943 上篇文章介绍了Netty内存模型原理,由于Netty在使用不当会导致堆外内存泄漏,网上关于这方面的资料比较少,所以写下这篇文章 ...

  8. python 根据中文表头标题抓取动态(表格)文档数据

    思路 如图左侧表头标题,要获得右侧数据.网页数据提取成汉字,表格数据间会有空格,用split()分隔成list.用index()查找某个汉字表头位置,输出list下一个位置既是要得到值 text2 = ...

  9. 通过shadow来更改ubuntu密码,并且使用frp组网

    局域网搜索 pings 所有设备找到在线设备并登录网页 :: 作者:mao 时间:2024 11.30 @echo off chcp 65001 >nul :: 启用延迟环境变量扩展 setlo ...

  10. [转]Clion+mingw环境下Assimp编译

    1.Clion+mingw环境下Assimp编译 2.MinGW-w64下载