求组合数 C(n,m)

摘要:
以下内容转自:http://blog.csdn.net/zengaming/article/details/63681754一、解C(n,m),公式1:公式2:公式2可以这样理解。从n个项目中取m有两种情况:(1)不要取第n个项目,所以从第一个n-1中取m;(2) 取第n篇文章,然后从前面的n-1中取m-1;所以答案是这两种情况的总和。求解C(n,m)%p,其中p是一个大素数。当n、m和p较大时,使用公式2

下面内容转自: http://blog.csdn.net/zengaming/article/details/63681754

一、求解C(n, m)

公式一:

求组合数 C(n,m)第1张

公式二:

求组合数 C(n,m)第2张

公式二可以这么理解,从n个物品中取m个有2种情况:(1)不取第n个物品,于是从前n-1个中取m个; (2)取第n个物品,于是从前n-1个中取m-1; 所以答案是这两种情况的和

二、求解C(n, m)%p,p为大质数

当n,m,p都很大的时候,用公式二肯定不行了,费时间又费内存,这时候要用公式一,问题是取模时怎样可以把除法转化为乘法?

费马小定理: 若p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1, 即a^(p-1)  ≡ 1 (mod p),所以a^(p-2) ≡ 1/a  (mod p)

公式三:

求组合数 C(n,m)第3张

这里求阶乘的时候要一边乘一边取模,求p-2次方的时候要要快速幂

三、求解C(n, m)%p,p为小质数

Lucas定理:n,m是非负整数,p是质数,将n,m写成p进制的形式,即:n=(a[k], a[k-1]...., a[0])p,m=(b[k], b[k-1]..., b[0])p,则

公式四:

求组合数 C(n,m)第4张

公式五:

求组合数 C(n,m)第5张

在对上面公式证明之前,我们先证明一下下面这个公式

公式六:

求组合数 C(n,m)第6张

证明公式六:

求组合数 C(n,m)第7张

 证明公式五:
求组合数 C(n,m)第8张

四、范德蒙恒等式

公式七:

求组合数 C(n,m)第9张

证明:

1.

求组合数 C(n,m)第10张

2.可以这么理解:从n+m个球中取k个球,相当于将球分为两部分,分别有n个球和m个球;结果相当于从n个球中取i个的球情况下,从m个球中取k-i个球,i的范围是[0,k]。

免责声明:文章转载自《求组合数 C(n,m)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Django文件配置及ormh5批量下载文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

四分位数

四分位数是统计学里一个很重要的概念,实际应用中,所画出来的箱图,就使用到了这个概念,只有懂了四分位的概念才能看懂箱图所表达的意思。我这里通过一个实际的案例来说明四分位数的求取过程。首先我们看下数据的情况,如下图所示,数据的总个数为10个1、在求取四分位数据时,首先必须做的是要对数据进行升序排序,如下图。例如:n的值为5、9、13等等,就是可以在数列中直接找到...

Webstorm快捷键

网店快捷键1.搜索/替换,包括全局搜索和文件搜索。...

MySQL高可用集群方案

资源不足的小团队或小项目直接建议阿里云和腾讯云II。一些常见解决方案介绍1。MySQL主从架构2。MHA架构参考:生产环境MySQL数据库集群MHA在线实现解决方案MHA目前是MySQL高可用性中比较成熟的解决方案。...

css动画延迟好像有点怪

项目需要使用动画Css。自定义时,会发现设置动画延迟和动画持续时间的总时间不正确,这将导致动画丢失。例如,bounceInLeft动画从左侧出现,然后抖动。当初始动画延迟为0时,动画持续时间为1s,动画已完成,但如果设置该值,动画延迟为1s且动画持续时间是2s,则动画未完成。具体的动画是从左侧出现,然后在1s延迟后直接到达终点,但没有抖动。然后我用w3c写了...

移动通信网络中的 GTP 协议

在EPSUP中使用GTP的优点之一是GTP具有固有的可识别隧道机制和GTP可以为UE提供的移动性。注意:GTPv2-U协议不存在。GTP-C协议GTP-C是GTP的控制平面,使用UDP端口2123。在EPS中,GTPv2-C协议负责创建、维护和删除S1、S5/S8和其他接口上的GTP-U隧道。它是一种基于IP的隧道协议,允许在GTP UProtocolEnt...

Mysql 查询以某个字符开头的语句

为了查询以某个字符开头的数据,MySQL中经常使用它。常见的语句如下:以查询文章标题以单词“positive”开头的语句为例:使用通配符:1SELECT*FROM`article`,其中title类似于“positive%”;使用左函数:使用字符串截断函数:1SELECT*FROM`article`其中substring(title,1,1)='positi...