do_while_true

一言(ヒトコト)

置换 杨表

置换

基础双射

将置换 \(p\) 唯一分解为若干循环(轮换分解),对于每个循环以其最大值作为开头,再将所有循环按照字典序升序排序,构成一个新的置换。

这是 \(n\) 阶排列到 \(n\) 阶排列的双射。右推左即为按照前缀最大值划分段从而得到这些循环。

例:\(n\) 阶随机排列中 \(1\) 所在循环长度为 \(k\) 的概率为 \(\frac{1}{n}\)。首先 \(1\)\(n\) 等价,而 \(n\) 所在循环长度为 \(k\) 需要基础双射后它在第 \(n-k+1\) 位。

关于类型的结论

\(c_i\) 表示 \(p\) 种长度为 \(i\) 的循环个数,将 \(c_{1,2,...,n}\) 称为 \(p\) 的类型。那么类型为 \(c\) 的置换个数为:\(\Large{\frac{n!}{\prod c_i!i^{c_i}}}\)

这里双射构造采用《多对一》的方式,对于任意一个置换将前 \(c_1\) 个元素每个都作为一个循环,将之后的 \(2c_2\) 个元素每相邻两个连为一个循环 ... 它能唯一对应到一个合法的排列,并且对于一个合法的排列它会出现 \(\prod c_i!i^{c_i}\) 次。

逆序对与下降

求逆保 \(\text{inv}\):逆序对满足 \(\text{inv}(p)=\text{inv}(p^{-1})\),画在平面上得证

下降集合 \(D(p)\) 是满足 \(p_{i}>p_{i+1}\)\(i\) 构成的集合。主指标 \(\text{maj}(p)=\sum_{i\in D(p)}i\)

\(\text{inv}(p)\)\(\text{maj}(p)\) 等分布\(\text{inv}=k\)\(\text{maj}=k\) 的排列个数相同。

杨表

对于 \(n=\sum a_i\) 的一个整数划分 \(a_1\geq a_2\geq ...\geq a_k\),画 \(k\) 行左对齐的格子,第 \(i\) 行格子数为 \(a_i\)。如果将 \(1\sim n\) 中的数不重不漏地填入所有格子并且满足每行每列都严格递增,那么称其为标准杨表

如果可以填入相同数字,每行不降,每列严格递增,那么称之为半标准杨表

狗子公式:臂长是右侧格子数,腿长是下方格子处,勾长为臂长加腿长加一,记为 \(\text{hook}(x)\)。那么形状为 \(\lambda\) 的杨表个数为 \(\Large\frac{n!}{\prod_{x\in \lambda}\text{hook}(x)}\)

值域 \([1,m]\) 的半标准杨表的狗子公式:\(\Large\prod_{(x,y)\in \lambda}\frac{m+y-x}{\text{hook}(x,y)}\)

\(x\) 或者 \((x,y)\) 表示的是某个格子。

posted @ 2024-04-12 17:57  do_while_true  阅读(36)  评论(0编辑  收藏  举报