《卡特兰数 — 计数的映射方法的伟大胜利》
博主:意琦行
原文传送门:http://lanqi.org/skills/10939/
此文是我在学习卡特兰数时对于文章中一些没有解释的公式的补充,作为学习的笔记。
第一处:
对于无效排列方案数
C
2
n
n
−
1
C_{2n}^{n-1}
C2nn−1的补充
原文:
那么无效的排列到底有多少呢?
考虑 M M M 是所有无效的排列构成的集合,考虑其中第一次发现排列无效的时候,也就是第一次发现其前若干项和为 − 1 -1 −1 的时候,此时我们将包含使得前若干项和为的这一项开始的之前的所有项全都取相反数,那么就会得到一个新的排列,这个排列包含 n + 1 n+1 n+1 个 + 1 +1 +1 ,以及 n − 1 n-1 n−1 个 − 1 -1 −1 ,设所有这样的排列构成集合 N N N .
显然,这个 M → N M→N M→N 的映射是一一映射( N N N 中的每一个排列从第一项往后累积求和的时候必然会出现和为 + 1 +1 +1 的情形,此时将排列中使得和为的这一项连同之前的所有项全部取相反数,那么就会得到 M M M 中的一个排列).
因此无效的排列共有个 C 2 n n − 1 C_{2n}^{n-1} C2nn−1.
在哈尔滨工业大学出版社 《ACM-ICPC程序设计系列:组合数学及应用》 一书中,第二章 母函数 的 2.8 Catalan数 小节里对无效排列数解释到:
注:文中的提到的 0 0 0 表示 − 1 -1 −1 , 1 1 1 表示 1 1 1 。
不符合要求的数的特征是由左而右扫描时,必然存在某一奇数位 2 m + 1 2m+1 2m+1 位上首先出现 m + 1 m+1 m+1 个 0 0 0 的累计数和 m m m 个 1 1 1 的累计数 , 此后的 2 ( n − m ) − 1 2(n-m)-1 2(n−m)−1 位上有 n − m n-m n−m 个 1 1 1 和 n − m − 1 n-m-1 n−m−1 个 0 0 0 。如若把后面这 2 ( n − m ) − 1 2(n-m)-1 2(n−m)−1 位上的 0 0 0 和 1 1 1 互换 , 使之成为 n − m n-m n−m 个 0 0 0 和 n − m − 1 n-m-1 n−m−1 个 1 1 1 ,结果得 1 1 1 个 由 n + 1 n+1 n+1 个 0 0 0 和 n − 1 n-1 n−1 个 1 组成的 2 n 2n 2n 位数 , 即一个不合要求的数对应于一个由 n + 1 n+1 n+1 个 0 0 0 和 n − 1 n-1 n−1 个 1 1 1 组成的排列 。
反过来,任何一个由 n + 1 n+1 n+1 个 0 0 0 和 n − 1 n-1 n−1 个 1 1 1 组成的 2 n 2n 2n 位二进制数,由于 0 0 0 的个数多 2 2 2 个, 2 n 2n 2n 为偶数,故比在某一个奇数位上出现 0 0 0 的累计数超过 1 1 1 的累计数。同样在后面部分 0 0 0 和 1 1 1 互换,使之成为由 n n n 个 0 0 0 和 n n n 个 1 1 1 组成的 2 n 2n 2n 位数,即 n + 1 n+1 n+1 个 0 0 0 和 n − 1 n-1 n−1 个 1 1 1 组成的 2 n 2n 2n 位数必对应一个不符合要求的数。
因而不合要求的 2 n 2n 2n 位数与 n + 1 n+1 n+1 个 0 0 0 , n − 1 n-1 n−1 个 1 1 1 组成的排列一一对应
由于CF的这道题Natasha, Sasha and the Prefix Sums引发了思考,和出入栈问题很相似https://codeforces.com/contestCn/1204/problem/E
题解:https://blog.csdn.net/qcwlmqy/article/details/100015750
C n C_n Cn表示卡特兰数 1 n + 1 C 2 n n \frac{1}{n+1}C_{2n}^{n} n+11C2nn