Lucas 定理证明与扩展
Lucas 定理及其证明、扩展
\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\) 的情况。
\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}}
\]
两项均可直接得到。时间复杂度:
\]
对于任意 \(p\),使用中国剩余定理合并即可。
Lucas 定理证明与扩展的更多相关文章
- 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])* ...
- lucas定理 +证明 学习笔记
lucas定理 p为素数 \[\dbinom n m\equiv\dbinom {n\%p} {m\%p} \dbinom {n/p}{m/p}(mod p)\] 左边一项直接求,右边可递归处理,不包 ...
- 【luogu P3807】【模板】卢卡斯定理/Lucas 定理(含 Lucas 定理证明)
[模板]卢卡斯定理/Lucas 定理 题目链接:luogu P3807 题目大意 求 C(n,n+m)%p 的值. p 保证是质数. 思路 Lucas 定理内容 对于非负整数 \(n\),\(m\), ...
- Lucas定理——定义、证明、实现、运用
目录 什么是Lucas定理 证明Lucas定理 Lucas定理求解组合数的C++实现 什么是Lucas定理 这是一个有助于分解组合数来求解的定理,适合模数小,数字大的问题. 有质数 \(p\),对于\ ...
- 大组合数:Lucas定理
最近碰到一题,问你求mod (p1*p2*p3*……*pl) ,其中n和m数据范围是1~1e18 , l ≤10 , pi ≤ 1e5为不同的质数,并保证M=p1*p2*p3*……*pl ≤ 1e18 ...
- Lucas定理及扩展
Lucas定理 不会证明... 若\(p\)为质数 则\(C(n, m)\equiv C(n/p, m/p)*C(n\%p, m\%p)(mod\ p)\) 扩展 求 \(C(n,m)\) 模 \(M ...
- [bzoj2142]礼物(扩展lucas定理+中国剩余定理)
题意:n件礼物,送给m个人,每人的礼物数确定,求方案数. 解题关键:由于模数不是质数,所以由唯一分解定理, $\bmod = p_1^{{k_1}}p_2^{{k_2}}......p_s^{{k_ ...
- Lucas定理和扩展Lucas定理
1.Lucas定理 首先给出式子:\(C_n^m\%p = C_{\lfloor\frac{n}{p}\rfloor}^{\lfloor\frac{m}{p}\rfloor} * C_{n\%p}^{ ...
- Ceizenpok’s formula Gym - 100633J 扩展Lucas定理 + 中国剩余定理
http://codeforces.com/gym/100633/problem/J 其实这个解法不难学的,不需要太多的数学.但是证明的话,我可能给不了严格的证明.可以看看这篇文章 http://ww ...
- 2023.2.26【模板】扩展Lucas定理
2023.2.26[模板]扩展Lucas定理 题目概述 求\(\binom {n}{m} mod\) \(p\) 的值,不保证\(p\)为质数 算法流程 (扩展和普通算法毫无关系) 由于\(p\)不是 ...
随机推荐
- 使用七牛云上传文件报错incorrect region, please use up-z1.qiniup.com-迷恋自留地
最近用Git提交代码时,一直报如标题所示的错误.百度了很多都无法解决,包括改更改配置,SSh等.最后在一个论坛上,说可能之前输入的账号或密码有误.尝试后,完美解决. 解决方法: 找到如下图的位置: 可 ...
- Zoom
1.zoom to layer ILayer layer = (ILayer)m_mapControl.CustomProperty; m_mapControl.Extent = layer.Area ...
- CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
Selenium Selenium 是一款开源且可移植的自动化软件测试工具,专门用于测试网页端应用程序或者采集网页端数据.它能够在不同的浏览器和操作系统上运行,具有很强的跨平台能力.Selenium可 ...
- Finereport调用python服务进行大数据量导出
Finereport调用python服务进行大数据量导出 背景: 在使用finereport过程中,我们发现在数据导出这块一直是一个瓶颈,闲来无事,思索一番,想出来一种场景来应对此问题.供各位大佬参考 ...
- .net delegate 万能适配
遇到一个技术点,记一下,.net 有一个 Delegate Marshall.GetDelegateForFunctionPointer(IntPtr ptr, Type t) 用来将内存地址映射为一 ...
- 解锁 Git Log 更多实用技巧
目前,在软件开发的协作中,Git 无疑是版本控制的王者. 而其中的 git log 命令,犹如一把强大的历史探寻之剑,能够帮助我们深入洞察项目的演进历程. 本篇将为大家整理解读几个实用的 git Lo ...
- 【转载】Netty堆外内存泄漏排查
https://www.imooc.com/article/298943 上篇文章介绍了Netty内存模型原理,由于Netty在使用不当会导致堆外内存泄漏,网上关于这方面的资料比较少,所以写下这篇文章 ...
- python 根据中文表头标题抓取动态(表格)文档数据
思路 如图左侧表头标题,要获得右侧数据.网页数据提取成汉字,表格数据间会有空格,用split()分隔成list.用index()查找某个汉字表头位置,输出list下一个位置既是要得到值 text2 = ...
- 通过shadow来更改ubuntu密码,并且使用frp组网
局域网搜索 pings 所有设备找到在线设备并登录网页 :: 作者:mao 时间:2024 11.30 @echo off chcp 65001 >nul :: 启用延迟环境变量扩展 setlo ...
- [转]Clion+mingw环境下Assimp编译
1.Clion+mingw环境下Assimp编译 2.MinGW-w64下载