[组合计数]

1.排列数和组合数

$A_{n}^{m}=\frac{n!}{m!}$

$C_{n}^{m}=\binom{n}{m}= \frac{n!}{\left ( n-m \right )!m!}$

$C_{n}^{m}=\frac{A_{n}^{m}}{m!}$

2.多重集排列

多重集组合数就是多重集排列,与多重集的组合数不同。

设多重集$S=\left \{ n_{1}\cdot a_{1},n_{2}\cdot a_{2},\cdots ,n_{k}\cdot a_{k} \right \}$,那么S的全排列为:

$\frac{n!}{\prod_{i=1}^{k}n_{i}!}= \frac{n!}{n_{1}!n_{2}!\cdots n_{k}!}$

 

3.卡特兰数

 以下摘自oi-wiki

递推式:

$Cat_{n}= \frac{\binom{2n}{n}}{n+1}\left ( n\geq 2 \right )$

4.lucas定理

$\binom{n}{m}\mod p= \binom{n/p}{m/p}\cdot \binom{p}{m\mod p}\mod p$

组合数很大但模数不很大(1e5+7等)时用

5.二项式定理

$\left ( x+y \right )^{n}=\sum_{i=0}^{n}\binom{n}{i}x^iy^{n-i}$

6.二项式反演

终于到了近乎玄学的NB东西

至多形式:若存在序列$f$,$g$,满足

$g_{m}=\sum_{i=0}^{m}\binom{m}{i}f_{i}$

那么有

$f_{m}=\sum_{i=0}^{m}\left ( -1 \right )^{m-i}\binom{m}{i}g_{i}$

至少形式:若存在序列$f$,$g$,$m \leq n$,满足

$g_{m}=\sum_{i=m}^{n}\binom{i}{m}f_{i}$

那么有

$f_{m}=\sum_{i=m}^{n}\left ( -1 \right )^{i-m}\binom{i}{m}g_{i}$

证明大概是将g代入式子,然后考虑i的贡献将sigma里的$j$,$i$互换位置,提取公因数后用二项式定理化简,最后证得相等。(此处令0的0次方为1)

7.范德蒙恒等式

$\sum_{i=0}^{k}\binom{m}{i}\binom{n}{k-i}= \binom{m+n}{k}$

等式左两个组合数下方的数之和可以大于$k$,因为大于$k$后会有部分组合没有意义而被视为$0$。


集合计数

在n个元素的集合的子集中选出若干集合,使交集元素为k的方案数。

注意到题目中的“恰好为K”,可以用二项式反演较简单地推出。

定义$f_i$为交集元素恰好为$i$个的方案数,$g_i$为交集元素至少为$i$个的方案数,那么有:

$g_{i}=\sum_{j=i}^{n}\binom{j}{i}f_j$

$f$的$j$个元素中有$i$个必选。

那么就能用二项式反演得:

$f_i=\sum_{j=i}^{n}\left ( -1 \right )^{j-i}\binom{j}{i}g_i$

之后考虑如何求$g$即可。对于$g_i$,集合中有$i$个元素必选,剩下元素组成的子集选不选皆可。

$g_i=\binom{n}{i}2^{2^{n-i}}$

最终答案为$f_k$。

 

Beautiful Bracket Sequence (hard version)

给定由左右括号与问号组成的字符串,求删掉部分字符后匹配括号最大深度的和。

注意到删去若干字符,另问号变为括号后串一定能变为一个合法括号序列。

首先考虑没有问号的情况,枚举删去字符后串的中点,记录每个中点的前缀“(”和后缀“)”,加和即可。

在此基础上考虑加入问号后的情况。

记录中点前缀“(”为$a$,后缀“)”为$b$,前缀“?”为$c$,后缀“?”为$d$。

对于中点$p$的贡献,有:

    $ans_p$

$=\sum_{i=0}^{c}\left ( a+i \right )\binom{c}{i}\binom{d}{a+i-b}$  

$=a\sum_{i=0}^{c}\binom{c}{i}\binom{d}{a+i-b}+i\sum_{i=0}^{c}\binom{c}{i}\binom{d}{a+i-b}$

$=a\sum_{i=0}^{c}\binom{c}{i}\binom{d}{d-a-i+b}+c\sum_{i=0}^{c}\binom{c-1}{i-1}\binom{d}{d-a-i+b}$

$=a\binom{c+d}{d-a+b}+c\binom{c+d-1}{d-a+b-1}$

 

范德蒙恒等式的应用,枚举中点求和即可。

posted @ 2021-08-02 06:14  keen_z  阅读(97)  评论(0)    收藏  举报