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\)不是 ...
随机推荐
- 成为JavaGC专家Part II — 如何监控Java垃圾回收机制
本文是成为Java GC专家系列文章的第二篇.在第一篇<深入浅出Java垃圾回收机制>中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生代和老年代,你应该了解的JDK7中的5 ...
- 移动端PDF阅读器重排版效果对比-小白PDF阅读器与KOReader重排效果对比
PDF是一种跨操作系统平台的电子文件格式,它能在各种不同的平台上以相同的版式显示.很多扫描书籍或者电子书籍都会采用PDF格式存储.但是移动端由于屏幕的限制,以原版展示PDF会导致画面缩放严重,影响阅读 ...
- Vite项目无法通过IP+端口的方式访问开发服务
前情 最近要新开一个项目,技术栈由自己安排,于是就想到使用vue3+vite来做,体验一把新技术栈 坑位 vite开发体验极佳,但是在项目完成的时候,想通过本地服务提前发给产品确认UI.交互等细节的时 ...
- OS之《线程管理》
进程是系统资源分配的最小单位,线程是最小的执行单位. 然而,现在的高级设计底层还是基于这个理论基础实现的.比如java的线程,还有最新版本的JDK的协程都是在为了更好的让CPU执行任务. 线程是为了使 ...
- Tomcat 已集成 CROS Fitler ExpiresFilter 等一堆常用 Filter
http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html 再也不需要三方包提供的 filter 了
- IntelliJ IDEA生成jar包运行报Error:A JNI error has occurred,please check your installation and try again
首先介绍一下IntelliJ IDEA生成jar包的方式: 1.打开项目,打开FIile->Project Structure...菜单.如下图: 选中Artifacts,点+号,选择JAR,再 ...
- docker容器内使用sudo 报错bash: sudo: command not found
解决办法: 先查看linux系统版本: cat /proc/version 1.RedHat系主要有RedHat,Fedora,CentOs等: RedHat系列的包管理工具是yum,执行 yum i ...
- Qt/C++视频监控安卓版/多通道显示视频画面/录像存储/视频播放安卓版/ffmpeg安卓
一.前言 随着监控行业的发展,越来越多的用户场景是需要在手机上查看监控,而之前主要的监控系统都是在PC端,毕竟PC端屏幕大,能够看到的画面多,解码性能也强劲.早期的手机估计性能弱鸡,而现在的手机性能不 ...
- Qt编写物联网管理平台46-云端数据同步
一.前言 在上一篇文章说的采集数据转发的基础上,针对方案一还做了云端数据同步功能,满足各式各样的用户需求.云端数据库同步,相当于把本地采集到的数据实时存储到云端,至于这些记录到了云端后什么用途,客户端 ...
- Qt开源作品41-网络调试助手增强版V2022
一.前言 做网络通信少不了网络收发数据,经常用到网络数据的调试相关工具,以便侦听数据用来判断数据是否正确,许久以前就发布过类似的工具,第一版大概在2013年,第二版大概在2017年,中间参考过不少的网 ...