第一趟过来:一人:花1分钟的人
第二趟过来:一人:花2分钟的人
在有团购之前,大家都是现场买门票的,公园的门票是5元;某天售票处开门时没有准备零钱。假设一天来购票的一次有2N个人,其中有N个人有5元零钱,其它N个人只有10元面值的钱;假设每人只买一张票。请问任何人都不必为找零而等待的概率是多少?
:这是标准的Catalan数的应用吧!-------编程之美上有原题
隐隐约约记得这道题貌似《编程之美》上也有,为了将问题简单化,将持有5元的人看成1,持有10元的人看成0,这样,只要满足:在任何0位置之前,1的数目多于0的数目,就能满足要求,则该题求解的为满足要求的排列占全部排列的比例。
1)求2n个1和0的全排列数目:C(2n,n),即从2n个位置中选取n放置0(或者1)。
2)求取不满足要求的组合数(合法的组合数不好求):
不满足要求的组合数的特点:总能找到一个位置K,使得0的数目比1的数目多1。那么很明显,k后面的0的数目比1的数目要少1.(为什么要找位置k?因为,我要让前面K个位置0、1排列不管怎么排列都不合法)
此后,我们关注k位置后面的排列:因为k后面的排列中,明显0比1少,那么我们可以将0和1互换(为什么要互换?首先,0、1互换后,两种排列方式的总数目是不变的,其次,互换后的排列中0比1多1个,那么不管怎么排列,都不合法),这样互换后2n个数的排列不管怎么排列都不合法(值得注意的是,互换后的组合排列数目,和互换前的是相同的,因为前面的排列不变且后面排列组合方式的数目一样。
现在来计算互换后排列的数目:互换后排列的数目中0为n+1个,1为n-1个,那么组合数就相当于从2n个位置选取n+1个位置放0,即为C(2n,n+1)
所求结果为( C(2n,n)-C(2n,n+1) )/ C(2n,n)或者是( C(2n,n)-C(2n,n-1) )/ C(2n,n)=C(2n,n)/(n+1)