组合数学

组合数学

卡特兰数

卡特兰数对应的序列为 \(1,1,2,5,14,42,132\cdots\)

递归定义:\(C_0=C_1=1,C_n=\sum_{i=0}^{n-1} C_i C_{n-i-1}(n\ge 2)\)

通项公式:\(C_n=\binom{2n}{n}-\binom{2n}{n-1}=\frac{(2n)!}{n!(n+1)!}\)

应用:

括号序列:\(n\)(\(n\)),形成长度为 \(2n\) 的合法括号序列,方案数为 \(\binom{2n}{n}-\binom{2n}{n-1}\)

证明如下:设 \(f_i\) 表示长度为 \(2i\) 的合法括号序列个数,序列第 \(1\) 位一定是 (,因为序列合法,与第一个 ( 匹配的 ) 一定在位置 \(2j\),因为它们之间一定有偶数个括号,枚举与第一个 ( 相匹配的 ),把序列分成括号对内和括号对右边两部分,答案加上这两部分方案数的乘积。得到转移方程 \(f_i=\sum_{j=0}^{i-1}f_jf_{i-j-1}\),符合卡特兰数的递归定义,证毕。

经验

Split and Maximize

Unhappy Hacking

Natasha, Sasha and the Prefix Sums

Balanced Subsequences

斯特林数

第二类斯特林数

定义

\[n \brace k \]

表示把 \(n\) 个有序号的数分成 \(k\) 个无序号的组里面,每个组非空的方案数。

递推式:

\[{n \brace k} = {n-1 \brace k-1} + k{n-1 \brace k} \]

加入第 \(n\) 个数时,它可以自己新建一组,贡献为 \(n-1 \brace k-1\)。也可以加入原来的任意一组里面,贡献为 \(k {n-1 \brace k}\)

边界是 \({n \brace 0} = [n=0]\)

它还有通项公式,但是我不会。

容斥原理

min-max 容斥

参考 OI-Wiki

\(S,T\) 均是集合。

\[\max \{S\} = \sum_{T \subseteq S} (-1)^{|T|-1} \min\{T\} \\ \min \{S\} = \sum_{T \subseteq S} (-1)^{|T|-1} \max\{T\} \]

解释第一条,第二条同理。

\(S\) 中最大的数,就是所有数的和,减去两两数较小者,再加上多减的,以此类推容斥。

这个东西在期望上也是成立的,即:

\[E(\max \{S\}) = \sum_{T \subseteq S} (-1)^{|T|-1} E(\min\{T\}) \\ E(\min \{S\}) = \sum_{T \subseteq S} (-1)^{|T|-1} E(\max\{T\}) \]

不会证明,咕掉。


还有 kth max-min 容斥:

\[\text{kthmax} \{S\} = \sum_{T \subseteq S} (-1)^{|T|-k} \binom{|T|-1}{k-1} \min\{T\}\\ \text{kthmin} \{S\} = \sum_{T \subseteq S} (-1)^{|T|-k} \binom{|T|-1}{k-1} \max\{T\}\\ E(\text{kthmax} \{S\}) = \sum_{T \subseteq S} (-1)^{|T|-k} \binom{|T|-1}{k-1} E(\min\{T\})\\ E(\text{kthmin} \{S\}) = \sum_{T \subseteq S} (-1)^{|T|-k} \binom{|T|-1}{k-1} E(\max\{T\}) \]

不会证,咕掉。


根据 min-max 容斥,还可以得到 \(\gcd,\text{lcm}\) 的反演式子(根据豆包,反演就是用一个量的表达式推导出另一个量的表达式):

\[\text{lcm} \{S\} = \prod_{T \subseteq S} \gcd\{T\}^{(-1)^{|T|-1}}\\ \gcd \{S\} = \prod_{T \subseteq S} \text{lcm}\{T\}^{(-1)^{|T|-1}}\\ \]

期望上也是成立的吗?

豆包说不成立。我认为是因为 min-max 容斥容的是 \(\gcd,\text{lcm}\) 的每个质因数的指数。所以在期望上不成立?具体我不太理解。

posted @ 2024-08-13 21:18  wing_heart  阅读(35)  评论(0)    收藏  举报