排列统计量——排列的逆序、下降数、两种树表示
基本概念与定义
-
逆序(Inversion)
- 在排列 π=a1a2⋯an\pi = a_1a_2\cdots a_nπ=a1a2⋯an 中,若 ii<j 且 ai>aja_i > a_jai>aj,则称 (ai,aj)(a_i, a_j)(ai,aj) 为一个逆序。
- 逆序表 T(π)T(\pi)T(π):序列 (a1,…,an)(a_1, \ldots, a_n)(a1,…,an),其中 aia_iai 表示 iii 在 π\piπ 中左侧比它大的元素个数。
- 例如,π=417396285\pi = 417396285π=417396285 的逆序表为 (1,5,2,0,4,2,0,1,0)(1,5,2,0,4,2,0,1,0)(1,5,2,0,4,2,0,1,0)。
-
下降(Descent)
- 下降集 D(π)D(\pi)D(π):D(π)={i∈[n−1]∣ai>ai+1}D(\pi) = \{ i \in [n-1] \mid a_i > a_{i+1} \}D(π)={i∈[n−1]∣ai>ai+1}。
- 下降数 d(π)d(\pi)d(π):d(π)=∣D(π)∣d(\pi) = |D(\pi)|d(π)=∣D(π)∣。
-
Euler数与多项式
- Euler数 A(n,k)A(n,k)A(n,k):具有 k−1k-1k−1 个下降的排列数。
- Euler多项式:
An(x)=∑π∈Snxd(π)+1=∑k=1nA(n,k)xk.A(n,k)=card{π∈Sn∣d(π)=k−1}. A_n(x) = \sum_{\pi \in S_n} x^{d(\pi)+1} = \sum_{k=1}^n A(n,k) x^k.\\ A(n,k)=card\{ \pi \in S_n \mid d(\pi)=k-1 \}. An(x)=π∈Sn∑xd(π)+1=k=1∑nA(n,k)xk.A(n,k)=card{π∈Sn∣d(π)=k−1}.
- 前几项:
A1(x)=xA_1(x) = xA1(x)=x,
A2(x)=x+x2A_2(x) = x + x^2A2(x)=x+x2,
A3(x)=x+4x2+x3A_3(x) = x + 4x^2 + x^3A3(x)=x+4x2+x3.
-
胜位与弱胜位
- 胜位(Excedance):i∈[n]i \in [n]i∈[n] 满足 π(i)>i\pi(i) > iπ(i)>i。
- 弱胜位(Weak Excedance):i∈[n]i \in [n]i∈[n] 满足 π(i)≥i\pi(i) \geq iπ(i)≥i。
-
主指标(Major Index)
- MAJ(π)=∑i∈D(π)i\text{MAJ}(\pi) = \sum_{i \in D(\pi)} iMAJ(π)=∑i∈D(π)i。
-
排列的树表示
-
递增二叉树 T(π)T(\pi)T(π):
- 对排列 π=a1a2⋯an\pi = a_1a_2\cdots a_nπ=a1a2⋯an,递归构造二叉树:
- 根节点为当前子排列的最小元素 aia_iai。
- 左子树为 aia_iai 左侧的子排列,右子树为右侧子排列。
- 性质:每条从根到叶子的路径标号递增。
- 示例:π=57316284\pi = 57316284π=57316284 的 T(π)T(\pi)T(π) 如图1-2所示。
-
无序递增树 T′(π)T'(\pi)T′(π):
- 顶点为 {0,1,…,n}\{0,1,\ldots,n\}{0,1,…,n},边表示排列中元素的相对位置关系。
- 构造规则:顶点 iii 是 π\piπ 中左侧比 iii 小的最右元素的后继。
- 示例:π=57316284\pi = 57316284π=57316284 的 T′(π)T'(\pi)T′(π) 如图1-3所示。
-
排列的局部性质
- 上升:ai−1ai−1<ai<ai+1。
- 下降:ai−1>ai>ai+1a_{i-1} > a_i > a_{i+1}ai−1>ai>ai+1。
- 峰值:ai−1ai+1a_{i-1} < a_i > a_{i+1}ai−1<ai>ai+1。
- 谷值:ai−1>ai a_i < a_{i+1}ai−1>ai<ai+1。
-
树与排列的对应关系
- T(π)T(\pi)T(π) 的顶点性质与 π\piπ 的元素性质对应:
π\piπ 的元素性质 |
T(π)T(\pi)T(π) 的顶点性质 |
上升 |
右后继 |
下降 |
左后继 |
谷值 |
左右后继 |
峰值 |
无后继(叶子) |
命题总结
命题 1.3.9
映射 T:Sn→[0,n−1]×[0,n−2]×⋯×[0,0]T: S_n \to [0,n-1] \times [0,n-2] \times \cdots \times [0,0]T:Sn→[0,n−1]×[0,n−2]×⋯×[0,0](逆序表)是双射。
推论 1.3.10
∑π∈Snqi(π)=(1+q)(1+q+q2)⋯(1+q+⋯+qn−1). \sum_{\pi \in S_n} q^{i(\pi)} = (1+q)(1+q+q^2)\cdots(1+q+\cdots+q^{n-1}). π∈Sn∑qi(π)=(1+q)(1+q+q2)⋯(1+q+⋯+qn−1).
证明思路:
- 逆序表求和:
- i(π)=a1+⋯+ani(\pi) = a_1 + \cdots + a_ni(π)=a1+⋯+an,其中 ai∈[0,n−i]a_i \in [0, n-i]ai∈[0,n−i]。
- 生成函数分解:
- 每个 aia_iai 独立贡献 ∑ai=0n−iqai\sum_{a_i=0}^{n-i} q^{a_i}∑ai=0n−iqai,整体为乘积形式。
命题 1.3.11
对 S={s1,…,sk}<⊆[n−1]S = \{s_1, \ldots, s_k\}_< \subseteq [n-1]S={s1,…,sk}<⊆[n−1],
α(S)=(ns1,s2−s1,…,n−sk). \alpha(S) = \binom{n}{s_1, s_2-s_1, \ldots, n-s_k}. α(S)=(s1,s2−s1,…,n−skn).
证明思路:
α(S)=(ns1)(n−s1s2−s1)⋯(n−sk−1n−sk)=(ns1,s2−s1,…,n−sk). \alpha(S) = \binom{n}{s_1} \binom{n-s_1}{s_2-s_1} \cdots \binom{n-s_{k-1}}{n-s_k} = \binom{n}{s_1, s_2-s_1, \ldots, n-s_k}. α(S)=(s1n)(s2−s1n−s1)⋯(n−skn−sk−1)=(s1,s2−s1,…,n−skn).
示例:
S={2,5}⊆[6]S = \{2,5\} \subseteq [6]S={2,5}⊆[6],则 α(S)=(72,3,2)\alpha(S) = \binom{7}{2,3,2}α(S)=(2,3,27)。
命题 1.3.12
具有 kkk 个胜位的排列数 = 具有 k+1k+1k+1 个弱胜位的排列数 = Euler数 A(n,k+1)A(n, k+1)A(n,k+1)。
命题 1.3.14
- nnn 个顶点的递增二叉树个数为 n!n!n!。
- 恰有 kkk 个左后继的递增二叉树个数为 Euler 数 A(n,k+1)A(n,k+1)A(n,k+1)。
- 具有 kkk 个叶子的递增二叉树数 = 具有 k−1k-1k−1 个双后继顶点的递增二叉树数。
- 完全递增二叉树(每个非叶子节点有两个后继)的个数等于交错排列数(即(a_1>a_2a_4<\cdots
命题 1.3.16
- n+1n+1n+1 个顶点的无序递增树个数为 n!n!n!。
- 根有 kkk 个后继的无序递增树个数为无符号Stirling数 c(n,k)c(n,k)c(n,k)。
- 具有 kkk 个叶子的无序递增树个数为 Euler 数 A(n,k)A(n,k)A(n,k)。