码迷,mamicode.com
首页 > 其他好文 > 详细

组合数变换

时间:2019-10-16 13:23:34      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:表示   预处理   HERE   变换   合数   mat   ace   erb   splay   

基本变换

递推式

\[ C(n,m)=C(n-1,m-1)+C(n-1,m)\]

\[ \ \]

\[ \ \]

组合数完全累和

\[ \sum_{i=0}^n C(n,i) =2^n\]

\[ \ \]

\[ \ \]

$\sum -> C() $型

我们熟知的有

\[ \sum_{i=1}^{n}1=n = C(n,1)\]

\[ \sum _{i=1}^{n} \sum_{j=i+1}^{n} 1= \sum_{i=1}^{n-1}i=n \cdot (n-1)/2\]

更一般的

\[\underbrace {\sum \sum ... \sum} 1 =C(n,k)\]

\[ (k个\sum) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]

\[ \ \]

\[\ \]

$ ... ?\cdot C(n,i)$型

$ \sum i \cdot C(n,i) $

$ = \sum {i \cdot \frac{n!}{i! \cdot (n-i)!}}$

$ = \sum { \frac{n!}{(i-1)! \cdot (n-i)!}}$

\(=\sum {n \cdot \frac {(n-1)!} {(i-1)! \cdot (n-i)!}}\)

\(=n\cdot \sum C(n-1,i-1)\)

同理的

\[\sum i*(i-1)*C(n,i)=n \cdot (n-1) \cdot \sum C(n-2,i-2)\]

带入还能得到

\[\sum i^2 \cdot C(n,i) = n \cdot (n-1) \cdot \sum C(n-2,i-2)+n \cdot \sum C(n-1,i-1) \]

更一般的,可以表示成
\[ \sum C(i,k) \cdot C(n,i) =C(n,k) \cdot \sum C(n-k,i-k)\]

\[ \ \]

\[ \ \]

多组合数相乘型

\(\sum_{i=0}^{k} C(n,i)*C(m,k-i) = C(n+m,k)\)

其实就是两个组合问题的组合,可以直接通过实际意义得到

\[ \ \]

\[ \ \]

Lucas定理

$ C(n,m) \mod p = C(n \mod p,m \mod p) \cdot C(n / p, m/p) \mod p$

预处理阶乘逆元后,可以用于解决模数较小而\(n,m\)较大的组合数问题

\[ \ \]

\[ \ \]

组合数前缀和

\(S(n,m)=\sum_{i=0}^{m} C(n,i)\)

\(S(n,m)+S(n,m+1)\)

\(=\sum_{i=0}^{m}(C(n,i)+C(n,i+1))+C(n,0)\)

\(=\sum C(n+1,i+1)+C(n,0)\) (带入递推公式)

\(=S(n+1,m+1)\)

\(\because S(n,m)+S(n,m+1)=2*S(n,m+1)-C(n,m+1)\)

\(\therefore S(n,m)=2*S(n-1,m)-C(n-1,m)\)

(待补。。。)

组合数变换

标签:表示   预处理   HERE   变换   合数   mat   ace   erb   splay   

原文地址:https://www.cnblogs.com/chasedeath/p/11684722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!