https://www.luogu.com/article/hcy6mqry
初等双射
通常的方法是构造一个不会映射到自己的对合,这样就就可以把所有的组合对象分为数量相等的两类。
还有一种方法就是给等式两边找到一个相同的组合意义,以证明他们相等,这个不一定是一个映射,它允许“一对多”“多对一”。
P0
对于正整数 \(n\),我们称一个整数序列 \(a\) 是 \(n\) 的有序划分当且仅当 \(\sum_i a_i = n\),求满足 \(\sum_i [2 \mid a_i]\) 是偶数的有序划分个数。
\(n \ge 2\)
答案为 \(2^{n - 2}\)。
显然有 \(n\) 的有序划分共有 \(2^{n - 1}\) 个(每个间隙可以选择断开或不断),那么我们要证明的就是满足条件的有序划分恰好有一半。
对于一个有序划分:
- 如果 \(a_1 = 1\),那么我们把 \(a_1\) 和 \(a_2\) 合并到一起,形成一个新的有序划分 \(a_1 + a_2, a_3, \cdots\)。
- 如果 \(a_1 \neq 1\),那么我们把 \(a_1\) 分裂成 \(1\) 和 \(a_1 - 1\),形成一个新的有序划分 \(1, a_1 - 1, a_2, \cdots\)。
不难发现,对于上面的两种操作,每一种都会改变 \(\sum_i [2 \mid a_i]\) 的奇偶性,而且这个映射是一个对合。我们构造了一个从奇到偶的映射,也就证明了两边相等。
P1
\[\sum_{k = 0}^m \binom{m + k}{k} 2^{- k} \]
原式等于 \(2^m\)。
可以先两边同时乘以 \(2^m\),变成 \(\sum_{k = 0}^m \binom{m + k}{k} 2^{m - k} = 2^{2m}\)。
右式的意义显然是长为 \(2m\) 的 01 串的个数。现在考虑给左式找一个组合意义是的他们相等。
首先对于一个长为 \(2m\) 的 01 串,如果 0 和 1 都恰好有 \(m\) 个,那么这样的 01 串共有 \(\binom{2m}{m}\) 个,也就是上式 \(k = 0\) 的情况。
对于 \(k \neq 0\) 的情况,我们找到序列的众数,显然它出现了至少 \(m + 1\) 次,我们枚举它第 \(m + 1\) 次出现的位置为 \(m + k + 1\),那么这样的序列的个数为 \(\binom{m + k}{m} 2^{m - k}\),相加后对应的就是左式。
这样就证明了左右两式相等。
P2
\[\sum_{k = 0}^n \binom{2k}{k}\binom{2(n- k)}{n - k} \]
这个有一个简单的代数意义上的证明,就是 \(\sum_{k \ge 0} \binom{2k}{k} x^k = (1 - 4x)^{- \frac{1}{2}}\),所以原式就等于 \([x^n][(1 - 4x)^{- \frac{1}{2}}]^{2} =[x^n] (1 - 4x)^{-1} = 4^n\)。
然后考虑组合意义上的做法。
右式的意义是从原点出发,每步可以向上或向右走,走 \(2n\) 步的方案数,最后一定是走到 \(x + y = 2n\) 这条直线上的。
左式前半部分 \(\binom{2k}{k}\) 的组合意义显然是每步可以向上或向右走,最后一次走到直线 \(y = x\) 是在 \((k, k)\) 的方案数。
还剩下 \(2(n - k)\) 步,先验证一下 \(k = n\) 时等式成立,下面的讨论都建立在 \(k <n\) 的基础上,记 \(m = n - k\)。
不妨设下一步是向右走的,那么走到 \(x + y = 2n\) 且步触碰 \(y = x\) 的方案数可以类似 Catalan 的计数方法,反射一下即可得到:
下一步向上走的情况和向右走时对称的,所以总方案数为:
总方案数就是左式。
这就证明了左右两式相等。
P3
\[\sum_{i \ge 0} \binom{x + y + i}{i} \binom{y}{a - i} \binom{x}{b - i} \]
结论是:
不妨设 \(b \le x + a \and a \le y + b\),其余情况是平凡的。
考虑在两边同时乘以 \(\binom{x +y}{x}\),得:
集合是这样的:
这样左式的组合意义就是枚举了 \(i = \lvert A \cap B \rvert\),算方案数。
考虑右式的组合意义。
排列、置换与划分
置换的循环结构
记 \(\mathfrak S_n\) 为 \([n]\) 上的排列 / 置换构成的集合。
任意一个置换 \(p\) 都能被唯一地拆分成若干个循环的复合,使得每个元素都恰好在一个循环中。这个过程叫做循环分解。
比如 \([4, 2 ,3, 1]\) 可以表示成 \((2)(4, 3, 1)\) 的形式。
其实就是 \(i \rightarrow p_i\) 形成的若干个环。
定义置换 \(w\) 的标准表示 \(\widehat w\) 为:将 \(w\) 写成循环结构后,先每个循环以最大值作为起始元素,再把所有循环按字典序升序排序后构成的新置换。
如 \([4, 2, 7, 1, 3, 6, 5]\) 可以写成 \((2)(4, 1)(6)(7, 5, 3)\),也就是 \([2, 4, 1, 6, 7, 5, 3]\)。
基础双射(fundamental bijection):\(\mathfrak S_n \xrightarrow{\widehat{}}{}\mathfrak S_n\) 构成双射。
证明:由于循环分解唯一,所以正向的映射肯定是一对一的。
对于反向的映射,考虑从前缀最大值位置切开,这样就得到了循环分解,所以也是一对一的。
这样就得到了双射的结论。
P0
记 \(c_i\) 为 \(w\) 中长为 \(i\) 的循环的个数,称 \(c_{[n]}\) 为 \(w\) 的类型,证明:类型为 \(c\) 的 \(n\) 阶置换数量为 \(\displaystyle\frac{n!}{\prod\limits_{1 \le i \le n}c_i! \cdot i^{c_i}}\)。
记满足上述条件的置换构成的集合为 \(\mathfrak S_{n}^c\),考虑按如下方法构造一个 \(\mathfrak S_n \rightarrow \mathfrak S_n^c\) 的映射:
- 对于任意 \(w \in \mathfrak S_n\),把 \(w\) 的前 \(c_1\) 个元素每个作为一个循环,之后的前 \(2c_2\) 个元素每两个作为一个循环,以此类推。
发现对于一个 \(\mathfrak S_n^c\) 中的元素,恰有 \(\displaystyle \prod_{1 \le i \le n} c_i! \cdot i^{c_i}\) 个 \(\mathfrak S_n\) 中的元素与之对应(长度相同的置换出现位置可任意排列,一个循环有 \(i\) 种表示方式),即可得出上面的结论。
P1
给定 \(n, k\),求随机 \(n\) 阶排列中 1 所在循环大小为 \(k\) 的概率。
首先这个概率对每个数都是等价的,所以考虑求 \(n\) 的概率。
考虑基础双射,\(n\) 所在的循环在 \(\widehat w\) 中一定是最后一个,所以 \(n\) 在 \(w\) 中大小为 \(k\) 的循环当且仅当它在 \(\widehat w\) 的位置为 \(n - k + 1\),这个的概率是 \(\displaystyle \frac 1 n\)。
P2
给定 \(n, k\),求随机 \(n\) 阶排列中长度为 \(k\) 的循环的期望个数。
答案为:
排列的统计学性质
以下认为任意 \(n\) 阶正整数序列 \(w_{[n]}\),只要满足 \(w\) 中的数互不相等,\(w\) 就可以用来表示一个排列 / 置换,值等于离散化到 \([n]\) 后的数列。
P0
定义一个排列的逆序对 \(\displaystyle\operatorname{inv}(p) = \sum_{1 \le i < j \le n} [p_i >p_j]\),证明:\(\displaystyle \operatorname{inv}(p) = \operatorname{inv}(p^{-1})\)。
注意到对于一对 \((i, j)\),在 \(\operatorname{inv}(p)\) 中的贡献和在 \(\operatorname{inv}(p^{-1})\) 中贡献的相同的,这样就得到了原结论。
P1
定义 \(p\) 的下降集合(descent set) \(\operatorname D(p) = \{ i \in [n - 1] \mid p_i > p_{i +1} \}\),其主指标(major index) \(\operatorname{maj}(p) = \sum_{i \in \operatorname D(p)} i\)。
证明:\(\operatorname{maj}\) 和 \(\operatorname{inv}\) 等分布(equidistribution),即 \(\displaystyle \forall k \in \mathbb N, \left\lvert \{ p \in \mathfrak S_n \mid \operatorname{inv}(p) = k \} \right\rvert = \left\lvert \{ p \in \mathfrak S_n \mid \operatorname{maj}(p) = k \} \right\rvert\)。
考虑递归构造双射 \(\varphi: \mathfrak S_n \rightarrow \mathfrak S_n\)。
\(n = 1\) 的情况是平凡的,否则先对 \(n - 1\) 构造 \(\varphi': \mathfrak S_{n - 1} \rightarrow \mathfrak S_{n - 1}\)。
对于 \(w \in \mathfrak S_n\),令 \(v = \varphi'(w_{[n-1]})\)。
对 \(v\) 分情况进行如下的调整:
- 若 \(w_{n - 1} < w_{n}\),在每个满足 \(w_i <w_n\) 的 \(i\) 后切开,每个部分循环右移一位。
- 若 \(w_{n-1} > w_{n}\),在每个满足 \(w_i > w_n\) 的 \(i\) 后切开,每个部分循环右移一位。
这样我们就得到了 \(v'\),令 \(\varphi(w) = v' + w_n\) 即可完成构造(加法表示序列的拼接)。
首先 \(\varphi\) 是双射,证明就是考虑按类似的方式构造出 \(\varphi^{-1}\)。
现在我们来证明 \(\operatorname{maj}(w) = \operatorname{inv}(\varphi(w))\)。
考虑归纳:记 \(p = w_{[n - 1]}\),首先我们有:\(\operatorname{maj}(p) = \operatorname{inv}(v)\)。
进行分类讨论:
- 若 \(w_{n - 1} < w_n\),此时显然有 \(\operatorname{maj}(w) = \operatorname{maj}(p)\);对于 \(\operatorname{inv}\),改变的只有段内的贡献和 \(w_n\) 与 \(v_{[n - 1]}\) 之间的贡献,不难发现这两部分抵消掉了,所以我们有 \(\operatorname{inv}(\varphi(w)) = \operatorname{inv}(v)\),也就得到了 \(\operatorname{maj}(w) = \operatorname{inv}(\varphi(w))\)。
- 若 \(w_{n - 1} > w_n\),同理可得 \(\operatorname{maj}(w) = \operatorname{maj}(p) + n - 1 = \operatorname{inv}(v) + n - 1 = \operatorname{inv}(\varphi(w))\)。
这样就证明了结论。
经过上述讨论,不难发现 \(\varphi\) 也可以视作 \(\{ p \in \mathfrak S_n \mid \operatorname{inv}(p) = k \} \rightarrow \{ p \in \mathfrak S_n \mid \operatorname{maj}(p) = k \}\) 的双射。
P2
记 \(\operatorname{ID}(w) = \operatorname D(w^{-1})\),证明:上述 \(\varphi\) 是保 \(\operatorname{ID}\) 的(\(\varphi\) preserves \(\operatorname{ID}\)),即 \(\operatorname{ID}(w) = \operatorname{ID}(\varphi(w))\)。
考虑反证,如果结论不成立,那么一定是存在一个 \(i\) 满足在 \(w\) 中和在 \(\varphi(w)\) 中 \(i\) 与 \(i + 1\) 的相对位置关系不同。
这也就是说,在归纳的调整过程中 \(i\) 与 \(i + 1\) 的相对位置改变了。
分情况讨论:
- 若 \(i = w_n\) 或 \(i + 1 = w_n\):由于 \(w_n\) 一直在序列的第 \(n\) 位,所以相对位置不会改变。
- 若 \(i\) 与 \(i +1\) 不在同一段:根据调整过程,不同段的相对顺序不变,所以 \(i\) 与 \(i + 1\) 相对位置不变。
- 若 \(i\) 与 \(i +1\) 在同一段:此时相对顺序改变当且仅当 \(i\) 或 \(i + 1\) 是对应段的末尾,不妨设 \(i < w_n\) 且此段在 \(i\) 后断开(其余情况同理),由于 \(i\) 与 \(i + 1\) 在同一段,可知 \(i < w_n < i + 1\) 显然不成立,因此相对位置不变。
综上结论得证。
P3
记 \(\operatorname{imaj}(w) = \operatorname{maj}(w^{-1})\),证明:\(\operatorname{inv}, \operatorname{maj}, \operatorname{imaj}\) 是两两交对称分布(symmetric joint distribution)的,即:
\[\forall x, y \in \mathbb N, \begin{cases}\begin{aligned}\lvert \{ p \in \mathfrak S_n \mid \operatorname{inv}(p) = x, \operatorname{maj}(p) = y\} \rvert &= \lvert \{ p \in \mathfrak S_n \mid \operatorname{inv}(p) = y, \operatorname{maj}(p) = x\} \rvert \\ \lvert \{ p \in \mathfrak S_n \mid \operatorname{inv}(p) = x, \operatorname{imaj}(p) = y\} \rvert &= \lvert \{ p \in \mathfrak S_n \mid \operatorname{inv}(p) = y, \operatorname{imaj}(p) = x\} \rvert \\ \lvert \{ p \in \mathfrak S_n \mid \operatorname{maj}(p) = x, \operatorname{imaj}(p) = y\} \rvert &= \lvert \{ p \in \mathfrak S_n \mid \operatorname{maj}(p) = y, \operatorname{imaj}(p) = x\} \rvert \\ \end{aligned}\end{cases} \]
第三条是显然的,考虑映射 \(w \rightarrow w^{-1}\) 即可。
注意到 \(\varphi\) 是保 \(\operatorname{ID}\) 的,那么 \(\varphi\) 也一定是保 \(\operatorname{imaj}\) 的,考虑映射 \(w \rightarrow \varphi(w)\),有:
那么根据第三条就可推出第二条。
由于 \(\operatorname{inv}(p) = \operatorname{inv}(p^{-1})\),据此可推出:
这样根据第二条就能推出第一条。证毕。
P4
记 \(\operatorname{des}(p) = \lvert \operatorname{D}(p) \rvert\),其分布被我们称为欧拉数 \(\displaystyle\left\langle n \atop m \right\rangle\),满足递推式:
边界是:\(\displaystyle \left\langle {n} \atop {m}\right\rangle = 0\ (m \ge n), \left\langle {n} \atop {0}\right\rangle = [n \ge 0]\)。
定义 \(i\) 是 \(p\) 的超限位置(excedance)当且仅当 \(p_i > i\)。
定义 \(i\) 是 \(p\) 的弱超限位置(weak excedance)当且仅当 \(p_i \ge i\)。
记 \(\operatorname{exc}(p)\) 为 \(p\) 的超限位置数量,\(\operatorname{wexc}(p)\) 为 \(p\) 的弱超限位置数量。
证明:
- \(\operatorname{exc}\) 和 \(\operatorname{des}\) 等分布。
- \(\operatorname{wexc} - 1\) 和 \(\operatorname{des}\) 等分布。
先证第二个。
考虑排列 \(w\) 在基础双射下的像 \(\widehat{w}\),\(\widehat w(i) < \widehat w(i +1)\) 的冲要条件为:
- \(\widehat w(i)\) 与 \(\widehat w(i +1)\) 在不用循环。
- 或 \(\widehat w(i)\) 与 \(\widehat w(i +1)\) 在同一循环且 \(\widehat w(i) < \widehat w(i + 1)\)。
那么就有:
尝试加入 \(i = n\) 的情况,由于 \(w(\widehat w(n)) = n\),可以得到:
这也就是说 \(\operatorname{wexc}(w) = n - \operatorname{des}(\widehat w)\)。
同时有 \(\operatorname{des}(w) + \operatorname{des}([w_n, w_{n - 1}, \cdots, w_1]) = n - 1\)。
这就给出:
对于第一个,考虑双射 \(f: \mathfrak S_n \rightarrow \mathfrak S_n\) 满足 \(f(w)_i = (n +1) - w_i\) 即可得出 \(\operatorname{exc}(f(w)) = n - \operatorname{wexc}(w)\),结合上面推导过程中的第一个等号即可得到。
证毕。
总结
我们刻画了排列的如下几条统计学性质:
- 排列的逆保 \(\operatorname{inv}\)。
- \(\operatorname{maj}\) 和 \(\operatorname{inv}\) 等分布,并在证明的同时引入了双射 \(\varphi\)。
- \(\varphi\) 保 \(\operatorname{ID}\) 和 \(\operatorname{imaj}\)。
- \(\operatorname{inv}, \operatorname{maj}, \operatorname{imaj}\) 两两交对称分布。
- \(\operatorname{exc}\) 和 \(\operatorname{des}\) 等分布。
- \(\operatorname{wexc} - 1\) 和 \(\operatorname{des}\) 等分布。
下降集合与 \(w\) - 兼容性
以下设 \(w\) 为任意 \(n\) 阶置换(即 \(w \in \mathfrak S_n\))。
P1
我们称 \(f: [n] \rightarrow \mathbb N\) 是 \(w\) - 兼容的,记作 \(f \vdash w\),当且仅当:
- \(f(w_1) \ge f(w_2) \ge \cdots f(w_n)\)。
- \(i \in \operatorname{D}(w) \Rightarrow f(w_i) >f(w_{i +1})\)。
证明:任意 \(f: [n] \rightarrow \mathbb N\) 总是与且仅与某个 \(w\) 兼容。
对 \(f\) 按数值分段。
考虑对于一个极大的形如 \(f(i_1) = f(i_2) = \cdots = f_{i_L}\) 的段,一定可以确定出 \([l, r]\) 使得 \(w_j \in I \iff l \le j \le r\),其中 \(I = \{i_1, i_2, \cdots, i_L\}\),我们只需要分配 \(w_{[l, r]}\) 的值。
钦定 \(i_1 <i_2 < \cdots i_L\),段内需要保证 \(w_{[l, r]}\) 单增,因此构造 \(w_{[l, r]} = [i_1, i_2, \cdots, i_L]\) 即可。
不难发现这个构造是唯一的。
P2
定义 \(\mathcal A(w) = \{ f: [n] \rightarrow \mathbb N \mid f \vdash w \}\),\(\mathcal A_m(w) = \{ f: [n] \rightarrow [m] \mid f \vdash w \}\)。
证明:\[\lvert \mathcal A_m(w) \rvert = \binom{m +n - 1 - \operatorname{des}(w)}{n} \]
考虑对 \(f \in \mathcal A_m(w)\) 按如下方式构造双射 \(f'\):
- 首先令 \(f' = f\)。
- 按 \(i: 1 \rightarrow n - 1\) 的顺序,依次对每个 \(w_i > w_{i +1}\) 的位置,将 \(f'(w_{[1, i]})\) 减掉 1。
不难证明这是个双射,且 \(f'\) 满足:
通过插板法即可得出结论。