数学之美——组合小事(今天看到的一个简单的组合学应用,但是觉得挺有意思的)
2011-10-20 22:48
253 查看
问题引出:
C(2n, n)-C(2n, n – 1)
解析
注:以上解答非原创,是在一个考研论坛上看到的,觉得解析得非常精辟,同时第二次搜索时,找了好大半天才找到这个解答,故保存下来。将作者的思维弘扬光大
求教 n个整数依次进栈,问有多少种出栈序列。
回答C(2n, n)-C(2n, n – 1)
解析
N个元素进栈和出栈,共有n次进栈(记为0)和n次出栈(记为1),结果为一个01串。题目意思就是求有多少种长度为2n的合法01串。这里合法的意思是当前1的累计个数不能超过0的累计个数。答案是从C(2n, n)中减去不合法的数目。不合法的必然在某一奇数位2m + 1上首次出现m + 1个1的累计数和m个0的累计数。此后的2(n - m) - 1位有n - m - 1个1和n - m个0。若把后面这2(n - m) - 1位,01互换,结果为由n + 1个1和n - 1个0组成的01串,即不合法01串对应于一个由n + 1个1和n - 1个0组成的01串。反之,任何一个由n + 1个1和n - 1个0组成的01串,由于1的个数比0的个数多2个,2n为偶数,故必在某一奇数为上出现1的累计个数超过0的累计个数,同样地,在后面把01互换,使之成为n个0和n个1的01串,即n+1个1和n-1个0组成的01串对应于一个不合法01串。故两者是一一对应的。故不合法的数目为C(2n, n – 1) |
相关文章推荐
- Halloween treats(组合数学:鸽巢原理的简单应用)
- 今天在使用iscroll4 做一个简单触屏滚动demo,发现上下拖动的时候总是会回弹,不能看到下面的内容.这个问题苦恼了很久,终于解决
- 一个用JS作的简单的画图程序,可改画线粗细和顡色,觉得挺有意思的,所以放上来,以供相互学习
- 总是在资料上看到 window.location.href和window.location.replace的区别,但是不是很明白,今天彻底明白了。简单说说: 有3个jsp页面(1.jsp,
- 山东省第五届省赛题 G - Hearthstone II(简单组合数学应用第二类stirling数)
- 今天看到了一个非常有意思的签名档......
- 目前大家对Python都有一个共识,就是他对测试非常有用,自动化测试里Python用途也很广,但是Python到底怎么进行自动化测试呢?今天就简单的向大家介绍一下怎么使用Python进行自动化测试
- Find a multiple(组合数学:鸽巢原理的简单应用)
- 本来从动态壁纸预览页面设置一个动态壁纸回到桌面便可以看到桌面动态壁纸,可以观察得到自己的动态壁纸是否设置成功了(必须知道设置是否成功的结构,因为还有一些操作需要完成)! 但是现在是要在自己的应用中进入
- 今天上qq空间看到一个有意思的东西,类似射线的效果
- 今天突然想写一个及其简单的对话,但是在if 语句那里不会写了 向大神求助
- 今天看到一个比较有意思的检查交换机端口好坏的方法
- 在CSDN论坛上看到一个数据库帖子,觉得挺有意思的,特转过来跟大家分享
- 基于Apache Mina的一个简单应用
- 一个简单的实现不同权限的用户登录后看到不同的菜单设计的数据库表清单
- 今天看到的一个攻击
- Android中的一个简单的List应用
- 玩一玩nodejs--一个简单的在线实时填表应用
- Appium+Robotframework实现Android应用的自动化测试-6:一个简单的例子
- Unity编程笔录--Tango创建一个简单AR应用