Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >大组合数取模的Lucas定理

大组合数取模的Lucas定理

作者头像
mythsman
发布于 2022-11-14 06:25:12
发布于 2022-11-14 06:25:12
8260
举报

一般情况下,我们计算大组合数取模问题是用递推公式进行计算的:

C_n^m=(C_{n-1}^m+C_{n-1}^{m-1}) mod\ p

其中p相对较小的素数。但是当n和m过大时,计算的耗费就急剧增加,在实践中不适用。当这时候就需要Lucas定理进行快速运算:

C_n^m=\prod_{i=0}^{k}C_{n_i}^{m_i}\ mod\ p

其中:

m=m_kp^k+m_{k-1}p^{k-1}+...+m_1p+m_0
n=n_kp^k+n_{k-1}p^{k-1}+...+n_1p+n_0

证明方法也很简单,主要用到如下等式:

C_p^j\equiv 0\ mod\ p\ ( 1 \leq j \leq p-1 )
(1+x)^{p}\equiv 1+x^p \ mod\ p

应用这个公式,可以的到如下递归式

这里的Lucas(n,m,p)就是C_n^m\ mod\ p,递归终点就是当n=0的时候。时间复杂度是O(log_p(n)*p).

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
组合数的各种性质和定理
从m个物品里选出n个的方案数,记作 Cnm C m n C_m^n,即为组合数 组合数有很多很多的性质和定理。。。 注意由于本人沉迷玩梗无法自拔,如果看见您看不懂的梗请随意跳过。
全栈程序员站长
2022/09/13
9220
组合数公式
\[\binom{n}{k}+\binom{n}{k-1}=\binom{n+1}{k} \]
全栈程序员站长
2022/09/08
4110
排列组合的一些公式及推导(非常详细易懂)[通俗易懂]
分类计数原理:做一件事,有\(n\)类办法,在第\(1\)类办法中有\(m_1\)种不同的方法,在第\(2\)类办法中有\(m_2\)种不同的方法,…,在第\(n\)类办法中有\(m_n\)种不同的方法,那么完成这件事共有\(N=m_1+m_2+…+m_n\)种不同的方法。
全栈程序员站长
2022/09/20
3.8K0
4. 基础数学初识
输出格式 共 n 行,其中第 i 行输出第 i 个正整数 ai 是否为质数,是则输出 Yes,否则输出 No。
浪漫主义狗
2022/09/14
9850
4. 基础数学初识
洛谷P3746 [六省联考2017]组合数问题
题目描述 组合数 C_n^mCnm​ 表示的是从 n 个互不相同的物品中选出 m 个物品的方案数。举个例子,从 (1;2;3) 三个物品中选择两个物品可以有 (1;2);(1;3);(2;3) 这三种选择方法。根据组合数的定义,我们可以给出计算组合数 C_n^mCnm​ 的一般公式: C_n^m = \frac{n!}{m!(n-m)!}Cnm​=m!(n−m)!n!​ 其中 n! = 1 × 2 × · · · × n。(特别的,当 n = 0 时, n! = 1 ,当 m > n 时, C_n^m =0
attack
2018/04/10
7210
组合数递推的计算方法 c语言,组合数公式的递推公式
任意选择m中的某个备选元素为特殊元素,从m中选n个元素可以由此特殊元素的被包含与否分成两类情况,即n个被选择元素包含了特殊元素和n个被选择元素不包含该特殊元素。
全栈程序员站长
2022/09/13
1.6K0
【组合数学】排列组合 ( 多重集组合数 | 所有元素重复度大于组合数 | 多重集组合数 推导 1 分割线推导 | 多重集组合数 推导 2 不定方程非负整数解个数推导 )
这里就将 多重集的组合问题 , 转化成了 另外一个多重集的全排列问题 , 多重集全排列是有公式的 ;
韩曙亮
2023/03/28
8650
【组合数学】排列组合 ( 多重集组合数 | 所有元素重复度大于组合数 | 多重集组合数 推导 1 分割线推导 | 多重集组合数 推导 2 不定方程非负整数解个数推导 )
gamma分布的分布函数_gamma分布和beta分布
项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步
全栈程序员站长
2022/11/18
1.4K0
一种递推组合数前缀和的Trick
\(S(n, m)\)可以看做是杨辉三角上的一行,而\(S(n+1, m)\)是他的下一行
attack
2018/10/08
1.1K0
『数学』--数论--组合数+卢卡斯定理+扩展卢卡斯定理
卢卡斯定理: 求 C m n   m o d   p C_m^n~mod~p Cmn​ mod p 设 m = a 0 p 0 + a 1 p 1 + ⋯ + a k p k m={a_0}^{p_0}+{a_1}^{p_1}+\cdots+{a_k}^{p_k} m=a0​p0​+a1​p1​+⋯+ak​pk​ 设 n = b 0 p 0 + b 1 p 1 + ⋯ + b k p k n={b_0}^{p_0}+{b_1}^{p_1}+\cdots+{b_k}^{p_k} n=b0​p0​+b1​p1​+⋯+bk​pk​ 则 C
风骨散人Chiam
2020/10/28
5080
『数学』--数论--组合数+卢卡斯定理+扩展卢卡斯定理
【组合数学】错排问题 ( 递推公式 | 通项公式 | 推导过程 ) ★
1 . 分步计数原理 : 使用 分步计数原理 , 先统计 第一封信的排列方法 , 然后再讨论 其余信的排列方法数 ;
韩曙亮
2023/03/28
1K0
【组合数学】错排问题 ( 递推公式 | 通项公式 | 推导过程 ) ★
快排查找数组中的第K个最大元素
两种时间复杂度为O(nlogn)的排序算法,归并排序和快速排序。这两种排序算法适合大规模数据排序,更常用。
JavaEdge
2021/12/07
4.2K0
快排查找数组中的第K个最大元素
【组合数学】指数生成函数 ( 证明指数生成函数求解多重集排列 )
文章目录 一、证明指数生成函数求解多重集排列 参考博客 : 按照顺序看 【组合数学】生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常用的生成函数 | 与常数相关 | 与二项式系数相关 | 与多项式系数相关 ) 【组合数学】生成函数 ( 线性性质 | 乘积性质 ) 【组合数学】生成函数 ( 移位性质 ) 【组合数学】生成函数 ( 求和性质 ) 【组合数学】生成函数 ( 换元性质 | 求导性质 | 积分性质 ) 【组合数学】生成函数 ( 性质总结 | 重要的生成函数 ) ★ 【组合数学】生成函数
韩曙亮
2023/03/28
4940
【Android UI】贝塞尔曲线 ⑥ ( 贝塞尔曲线递归算法原理 | 贝塞尔曲线递归算法实现 )
贝塞尔曲线参考 : https://github.com/venshine/BezierMaker
韩曙亮
2023/03/30
1.3K0
【组合数学】排列组合 ( 多重集排列 | 多重集全排列 | 多重集非全排列 所有元素重复度大于排列数 | 多重集非全排列 某些元素重复度小于排列数 )
乘法法则 : 最后根据乘法法则 , 将上述每个放置方法乘起来 , 就得到最终的结果 , 阶乘看起来很复杂 , 但是 阶乘选项如
韩曙亮
2023/03/28
1.3K0
求组合数
分析:  C(10, 3) = C(10, 2) * 8 / 3 = C(10, 1) * 9 * 8 / (3 * 2) = C(10, 0) * 10 * 9 * 8 / (3 * 2 * 1) = 1 * 10 * 9 * 8 / (3 * 2 * 1) = 120
海天一树
2018/07/25
6160
求组合数
【组合数学】生成函数 ( 使用生成函数求解不定方程解个数 )
不定方程解的个数 , 推导过程参考 : 【组合数学】排列组合 ( 多重集组合数 | 所有元素重复度大于组合数 | 多重集组合数 推导 1 分割线推导 | 多重集组合数 推导 2 不定方程非负整数解个数推导 ) 二、多重集组合 所有元素重复度大于组合数 推导 2 ( 不定方程非负整数解个数推导 )
韩曙亮
2023/03/28
7500
【组合数学】生成函数 ( 使用生成函数求解多重集 r 组合数 )
是在重复度不受限制的情况下的选取结果 , 如果重复度受限制 , 就需要使用生成函数进行计算 ;
韩曙亮
2023/03/28
1.1K0
一文学会排列组合
上一篇「一文学会递归解题」一文颇受大家好评,各大号纷纷转载,让笔者颇感欣慰,不过笔者注意到后台有读者有如下反馈
kunge
2019/12/23
1.2K0
一文学会排列组合
【组合数学】计数模型、常见组合数与组合恒等式 ★★
除端点外 , 不接触对角线的非降路径数 参考 : 【组合数学】非降路径问题 ( 限制条件的非降路径数 )
韩曙亮
2023/03/28
7160
推荐阅读
相关推荐
组合数的各种性质和定理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档