另一大类组合对象。
定义.
称 是 的一个划分(记作 ),如果 且 。
问题.
定义 。
证明
解答.
首先能观察到的是一个映射:某个 可以通过把 个 转化成 个 。然而这既非单射( 的取值不明确)更不把等量的 转化成 ,看起来难以利用。
此处有一个精妙的想法:
- 考虑 能在如上映射下转化到的 的数量,这恰好是 ;
- 考虑能在如上映射下转化到 的 的数量,这恰好是 ()。
这样一个有向图的总出入度自然相等,于是得证。
问题.
定义 。
证明
解答.
根据上题结论,我们有 。
问题.
证明,把 划分为数个 的幂的方案数总是偶数。
解答.
我们只需要证明,所有这样的方案数总是一半长度为奇一半长度为偶。
如此构造双射:
- 如果 的最大元素 只出现一次,则将其映射到 ;
- 否则把两个 合并为 。
问题.
证明,把 划分为数个奇数的方案数和把 划分为数个互不相同的数的方案数相等。或者说,
解答.
我们给出两个解法。
法一. 双射如下:把奇数二进制合并,比如 个 会被合并为 。逆也显然,只需要不断把偶数拆成原来的一半。
法二.
上图已足以说明。它的逆的确唯一存在,虽然不是很显然。
问题.
- 证明
- 证明
- 证明
解答.
- 左式可理解为:
所有 的元素互不相同、且长度为偶数的划分的数量 所有 的元素互不相同、且长度为奇数的划分的数量
因此我们希望建立一个从左到右的“几乎双射”。该双射如下(来自 wiki)。
令 为从最大的 开始,连续段 的最长长度。
- 若 ,则移除 并令 增加 ;
- 否则 ,则令 减 ,增加一个 。
这个映射是它自己的逆。
这个双射总是把划分长度的奇偶性反转——除非 ,这时双射直接失败,因为移除 后根本不存在 以供增加;或者 ,增加的 和减一后的 相等,双射也失败。
剩下的工作只是确认这两种情况在什么时候发生及其影响,这直接引出结论。
- 可解释为:
所有 的元素互不相同、且 为偶数的划分的数量 所有 的元素互不相同、且 为奇数的划分的数量
继续应用上述双射即可。
- 可解释为:
所有 的 为奇数、且偶元素个数为偶数、且元素互不相同的划分的数量 所有 的 为奇数、且偶元素个数为奇数、且元素互不相同的划分的数量
考虑我们所希望的映射要具有的性质:
- 在且只在 处失效(这是一个很强的条件,一个映射要怎么只在从 开始的连续奇数时失效却不在缺少任何一些奇数时失效?)
- 反转偶元素数量的奇偶性
因此我们构造如下映射:
找出最小的偶元素 。
- 如果它的确存在,删除它,令 增加 ;
如果它不存在,找到最长的连续段 ,把它们全部 ,增加一个等量的偶元素。
这个双射有与之前类似的性质,不再赘述。
经典永流传。由于树的问题差不多都被生成函数研究光了,所以本节的主要目的是重新证明那些生成函数结论。
题目.
证明, 个节点的有标号无根树有 棵。
解答.
不会吧不会吧不会真有人不知道 Prüfer 序列 就敢来做这个题单吧???
题目.
证明:
注意你不应该对式子进行任何,哪怕只是提出一个 的改动。
解答.
显然左式描述了标号为 的有根树。
- 若根是 ,则方案数即为无根树数量(所有无根树钦定根为 后便得到以 为根的树),在右式中表现为蓝色部分取 。
- 否则根 ,则我们考虑切断 到 的路径上的第一条边 。 所在部分是有根树(根为 ),而且要额外选出 ,故方案数为 。 所在部分是无根树,故方案数为 。
- 而容易验证他们的合并的确是二项卷积(如果你不明确这一点,可以参考这里的习题集 1 一节),于是便得证了。
问题.
定义一棵树上的逆序对是二元组 ,同时满足 和 是 的祖先。记节点数为 的树 的逆序对数为为 。
定义 。
证明,
其中 取遍所有 个节点的连通无向图。 是其边数。
解答.
无疑让我们想到生成树。我们如此
钦定一棵 的特定生成树 :
- 从 出发一条边一条边移动,每次走当前能走到的最大节点,如果无边可走就回溯。
首先显然 中没有横杈边(即所有边要么属于 要么恰好链接一个节点和其某个祖先)。
考虑剩下的非树边 且 是 的一个祖先,显然必须有 到 路径上的第一个节点 ,从而是一对逆序对。这显然构建了从非树边到逆序对的单射(当然,这个映射与 有关,但是 不相等时它们也同样遵循我们想要的性质)。于是也就构建了从 的 到 的双射。
原式的含义也就很显然了, 正代表了每个逆序对可以自由地转化或不转化成非树边。
问题.
- 定义一棵树是交错的,如果不存在三元组 ,满足 且 有边且 有边。记标号为 的交错树的数量为 ,证明
- 一个局部二叉搜索树是一棵有根二叉树,任何一个节点都小于它的右儿子但大于它的左儿子(请注意不是小于(大于)它的右子树(左子树),这就是所谓“局部”的来源)。证明,标号为 的局部二叉搜索树数量等于上述 。
解答.
复杂,参考这里。
下面两题是 x义x 自己加的。它们都与拉格朗日反演有关……哦,应该说,它们自己就是拉格朗日反演。
问题.
证明下述的拉格朗日反演。
若有形式幂级数 ,则有
解答.
我们只需要证明
首先考虑到条件 ,我们构造这样的树 :
- 编号为 ,根为
- 一个节点 若度数为 ,则其权值为
- 令 的权值 为其所有节点的权值之积除以 。
于是 LHS(Left Hand Side,左式)便是所有 的权值之和。
接下来解释 RHS。考虑这样的有向图 :
- 编号为 ,每个除 以外的点恰有一条出边(从而 一定是一棵内向树和若干内向基环树)
- 一个节点 若入度为 ,则其权值为
- 令 的权值 为其所有节点的权值之积除以 。
于是 RHS 便是所有 的权值之和。
考虑 的度数为 ,其余点中有 个度数为 的那些 和 。显然 的权值和它们本身的细节无关,且总是有
于是为了证明拉格朗日反演,我们只需要说明
根据 Prüfer 序列,
对于 ,直接考虑每条边连向谁即可,
立即得证。
从而拉格朗日反演只是套了个皮的 Prüfer 序列……
# 号表示“++++”。(
问题.
证明下述的多元拉格朗日反演,或称 Good-Lagrange 公式。
一元的拉反是不是可以叫做 Bad-Lagrange 公式下面把 维向量 简记为 。(其他一些诡异的符号比如 和 相信可以由读者自己猜出意思)
现有一列 个 元形式幂级数 ,它们满足下面的方程组
那么我们有
其中 是完全图 的所有以 为根的内向生成树,而
解答.
此处不给出解答。其中一种双射的中文翻译可见此处。
卡塔兰数有 214 种 组合解释,你知道么?
生成函数的阴影无法触及的领域。双射方法终于得以生活在阳光之下。(
定义.
一个划分 的杨图大概就是一个长成这样的东西:
你要往里面填 的排列,使得行单调增列单调增,这样的一种填充称为标准杨表(简称 SYT,Standard Young Tableau)。记形状为 的标准杨表数量为 。
杨表 的第 行第 列的元素记作 。
题目.
证明
解答.
我们来介绍 RSK 算法。
行插入
定义 是把 从第一行行插入进近似 SYT(即填入的元素不必恰好是 ) 中。流程如下:
- 找到本行最小的比 大的数 。如果找不到这样的 ,则把 放在本行末尾并结束算法。
- 交换 。将 行插入下一行。
如下演示了一个行插入过程。
显然最后新增的格子一定在边角,即其下方和右方都没有格子。
对于对 的第 次插入,在另一个表 中在新增的格子上写上 (注意只是单纯地写上,而不是插入)。显然 是 SYT。我们称 为插入表, 为记录表。
删除
下面定义从 中删除格子 。尽管看起来不必要,我们还是规定 必须是边角。记 中填的数是 。流程如下:
- 如果这是第一行,结束算法。
- 找到上一行最大的比 小的数 (显然一定存在)
- 交换 ,移到上一行继续算法。
结束算法后删掉已经没有数的格子 。
如下演示了一个删除过程。
很明显删除就是行插入的逆操作。
考虑一个 的排列,依次插入即可得到两个 SYT ;给定 ,显然 中最大元素一定在边角,于是我们可以按 的指导去删除 来还原原来的排列。
于是也就得到了以下的 Robinson–Schensted correspondence:
上述算法构成了 到 的双射。
问题.
定义一个格子 的钩长 是它下方的格子数 右方的格子数 。
证明,
解答.
复杂,参见 这里。
问题.
证明, 个格子的 SYT 总数与 中的对合
内卷(即逆为自身的排列)总数相等。
解答.
我们只需要证明以下定理:若 ,则必有 。
从而被 RSK 算法映射到 当且仅当这个排列是对合,也就证明了原题。
考虑 中的这样一条子序列:,其中 皆满足 ,且 。
显然它们会依次替换掉 ,而 被替换出后,在下一行不可能有能与之匹敌的对手,于是必然插入 ,原来的 必然插入 ,依次类推。
于是我们如此总结:。对于 ,只需要考虑在 中抽掉 再进行类似构造即可。
(但是注意上述结论不能得出有关 的信息,因为该格的来源的可能性相对较复杂)
注意 可看成从排列 到子序列 的映射,所以我们下面可能会使用 等记号。
回过头来考虑 和 的关系。我们指出,如果交换 的下标和元素值,然后再 整个序列,则得到的恰好是 。下面我们来说明为何会这样。
上面的结论写的明确一些就是:。
是显然的,所以我们只需要验证
这的确和 的定义等价。
也就是说我们证明了对 ,原定理在第一行的确成立。
构造一个新序列,它是依次写下 中被插入第二行的元素形成的序列(显然,插入第二行的顺序不一定在是 中的顺序)。只要它满足原定理, 也就满足原定理。于是归纳即可。
放弃了,做不动力