码迷,mamicode.com
首页 > 其他好文 > 详细

电影院买票问题->排队找钱

时间:2015-03-14 09:40:35      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:数学   acm   算法   逻辑   

问题:有2n个人排队进电影院,票价是50美分。在这2n个人当中,其中n个人只有50美分,另外n个人有1美元(纸票子)。愚蠢的电影院开始卖票时1分钱也没有。问:有多少种排队方法使得每当一个拥有1美元买票时,电影院都有50美分找钱

注:1美元=100美分拥有1美元的人,拥有的是纸币,没法破成2个50美分


解析:符合卡特兰数( Catalan数),因此直接可以得出答案:(2n)/(n!*(n+1)!)。

Catalan数相关:令h(0)=1,h(1)=1;

1、catalan数满足递推式:
h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>=2)
例如:h(2)=h(0)*h(1)+h(1)*h(0)=1*1+1*1=2
h(3)=h(0)*h(2)+h(1)*h(1)+h(2)*h(0)=1*2+1*1+2*1=5;
2、另类递推式:
h(n)=h(n-1)*(4*n-2)/(n+1);
3、递推关系的解为:
h(n)=C(2n,n)/(n+1) (n=0,1,2,...)
递推关系的另类解为:
4、h(n)=c(2n,n)-c(2n,n+1)(n=0,1,2,...)

电影院买票问题->排队找钱

标签:数学   acm   算法   逻辑   

原文地址:http://blog.csdn.net/a809146548/article/details/44247329

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!