计数的一些东西

组合数

从n个物品中选m个,那么就有\(\frac{n!}{m!(n-m)!}\)种选法,即为\(C^m_n\)\(\left(\begin {matrix} n \\ m\end {matrix}\right)\)

有几个公式:

\[C_n^m=C_{n-1}^{m}+C_{n-1}^{m-1}\]

\[\sum_iC_n^i=2^n\]

二项式定理:\((x+y)^n=\sum_iC_n^ix^iy^{n-i}\)

\[\sum_{k=0}^n(-1)^kC_n^k=[n=0]\]

二项式反演: \[f_i=\sum_jC_i^jg_j\Leftrightarrow g_i=\sum_j(-1)^{n-j}C_i^nf_j\]

容斥

简单来说,就是要求\[|U\cap \bar A_1\cap \bar A_2\cap \cdots \cap \bar A_k|\]

这个东西就等于\[\sum_{S\subseteq A}(-1)^{|S|}|U\cap S_1\cap S_2\cap \cdots\cap S_{|S|}|\]

min-max容斥 :

有两个显然结论:

  1. \(min\{max\{a,b\},c\}=max\{min\{a,c\},min\{b,c\}\}\)

  2. \(max\{a,b\}=a+b-min\{a,b\}\)

然后就有\[max_{i=1}^n\{a_i\}=\sum_{T\subseteq A}(-1)^{|T|+1}min\{T\}\]

卡特兰数

卡特兰数\(C_n=\sum_{i=0}C_iC_{n-i-1}\)\(C_0=C_1=1\)

还有一个递推式\(C_n=C_{n-1}(4n-2)/(n+1)\)

\(C_n=\frac{C_{2n}^n}{n+1}=C_{2n}^n-C_{2n}^{n+1}\)

还有一个很像的数列是\(F_n=F_{n-1}+\sum_{i=0}^{n-1}F_iF_{n-i-1}\)

他的递推式是\(F_n(n+1)=(6n-3)F_{n-1}-(n-2)F_{n-2}\)

斯特林数

第二类斯特林数

把n个物品放到m个无序集合且不允许集合为空的方案数为第二类斯特林数,记为\(S(n,m)\)\(\begin{Bmatrix}n\\m\end{Bmatrix}\)

递推式:\(S(n,m)=S(n-1,m-1)+m*S(n-1,m)\)考虑定义,就是枚举下一个物品单独为一个集合或和其他的元素同在一个集合(或是否是这个集合的最后一个元素)。

容斥式子:\(S(n,m)=\frac{1}{m!}\sum_k(-1)^kC_m^k(m-k)^n\)

其意义就是枚举空的集合的数量,因为集合是无序的,所以要除以\(m!\)

如果把\(\frac{1}{m!}\)乘进去,可以得到\(S(n,m)=\sum_k\frac{(-1)^k}{k!}\frac{(m-k)^n}{(m-k)!}\),这样就可以直接卷积。

性质: \[n^k=\sum_{i=0}^kS(k,i)\cdot i!\cdot C_n^i\]

左边就是把k个物品放到n个集合里,右边就是枚举放到哪几个集合里。

第一类斯特林数

第一类斯特林数就是把n个物品划分为m个圆排列的方案数,记为\(s(n,m)\)\(\left[\begin{matrix}n\\m\end{matrix}\right]\)

递推式:\(s(n,m)=s(n-1,m-1)+(n-1)s(n-1,m)\)。因为这个是圆排列,所以每一个元素有n-1中插法。

还有有符号的第一类斯特林数,记为\(s_s(n,m)=(-1)^{n+m}s_u(n,m)\)

\(s(n,m)\)的生成函数是\(\prod_{i=0}^{n-1}(x+i)\)\(s_s(n,m)\)的生成函数是\(\prod_{i=0}^{n-1}(x-i)\)

一些性质(不带下表默认为无符号):

  1. \(x^{\underline{n}}=\sum_is_s(n,i)x^i,x^{\overline{n}}=\sum_is(n,i)x^i\)
  2. \(\sum_is(n,i)=n!\)
  3. \(\sum_is_u(n,i)=[n=0]\)

斯特林反演

\[f_i=\sum_jS(i,j)g_j\Leftrightarrow g_i=\sum_j(-1)^{n-j}s(i,j)f_j\]

猜你喜欢

转载自www.cnblogs.com/shanxieng/p/10561823.html
今日推荐