标签:总数 出现 catalan ima 组合 lan mamicode 出栈 组合数
Catalan数是组合数学中一个常出现在各种计数问题中的数列。
比如很常见的购票问题:m人手持1元,n人手持2元,票价为1元,工作人员没有准备零钱,问有多少种排队方法可以让购票过程顺利进行?
这个问题也类似于出入栈问题:S表示入栈,X表示出栈,问当S的个数为n时有多少种合法的序列?
对于(n+1)个S和(n-1)个X的所有情况,将第一次出现S的个数大于X的个数的子序列翻转,则定可以得到一种独特的不符合条件情况,例如XXSXSSSXXSSS可等价于SSXSXXXXXSSS。因此合法数是总数减去不合法数,这也是第n个Catalan数:
这是对于购票问题的解,出入栈问题是m=n的特殊情况
标签:总数 出现 catalan ima 组合 lan mamicode 出栈 组合数
原文地址:https://www.cnblogs.com/hanasaki/p/11129872.html