一个合法的表达式由()包围,()可以嵌套和连接,如(())()也是合法表达式;现在有 6 对(),它们可以组成的合法表达式的个数为_132___
2017-01-15 22:24
295 查看
解释:
这是一个卡特兰数列
我们可以把左括号看做1,右括号看做0,这些括号的组合就是01的排列
这里需要满足从第一个数开始的任意连续子序列中,0的个数不多于1的个数,也就是右括号的个数不多于左括号的个数。
假设我们不考虑这个限制条件,那么全部的01排列共有C(2n,n)种,也就是一半0一半1的情况
现在我们想办法把其中不符合要求的数量去掉
在任何不符合条件的序列中,找出使得0的个数超过1的个数的第一个0的位置,然后在导致并包括这个0的部分序列中,以1代替所有的0并以0代表所有的1。结果总的序列变成一个有(n+1)个1和(n-1)个0的序列。而且这个过程是可逆的,也就是说任何一个有(n+1)个1和(n-1)个0构成的序列都能反推出一个不符合条件的序列,所以不符合条件的序列个数为C(2n,n-1)
所以合法的排列数有C(2n,n)-C(2n,n-1)= C(12,6)-C(12,5)=132
这是一个卡特兰数列
我们可以把左括号看做1,右括号看做0,这些括号的组合就是01的排列
这里需要满足从第一个数开始的任意连续子序列中,0的个数不多于1的个数,也就是右括号的个数不多于左括号的个数。
假设我们不考虑这个限制条件,那么全部的01排列共有C(2n,n)种,也就是一半0一半1的情况
现在我们想办法把其中不符合要求的数量去掉
在任何不符合条件的序列中,找出使得0的个数超过1的个数的第一个0的位置,然后在导致并包括这个0的部分序列中,以1代替所有的0并以0代表所有的1。结果总的序列变成一个有(n+1)个1和(n-1)个0的序列。而且这个过程是可逆的,也就是说任何一个有(n+1)个1和(n-1)个0构成的序列都能反推出一个不符合条件的序列,所以不符合条件的序列个数为C(2n,n-1)
所以合法的排列数有C(2n,n)-C(2n,n-1)= C(12,6)-C(12,5)=132
相关文章推荐
- 小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和
- 现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10。
- 给定一个日期,输出这个日期是该年的第几天。输入数据有多组,每组占一行,数据格式为 YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
- 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使
- Java实现:n个正整数,将它们连接成一排,组成一个最大的多位整数。(输入:n(n个整数),依次输入n个整数)
- 设有n个正整数 (n<=20), 将它们连接成一排, 组成一个最大的多位整数
- Google App Engine 更新,一个账号现在可以创建10个application了
- 如何用最简单最快的方法判断一个BMP图片是否为黑白图片?我现在是全图片scanline 然后再加以分析,太慢了,有没有直接的函数可以做到呢?
- 一个TCP端口最多可以同时连接多少个客户端呢?
- ado.net连接sql server 2000数据库一定要连网(连一个路由也可以)的问题
- 郁闷ing!有没有谁可以提供asp.net一个数据库连接的例子
- 去年这时候辞退了一个开发人员,不知道他现在是否还在写程序了,可以跟他对比一下你的编程水平
- 一个端口可以有多少个TCP的连接?
- Socket编程服务器和客户端(多个客户端可以同时连接一个服务器的同一端口)
- 去年这时候又辞退了一个老油条,不知道他现在是否在开公司了,可以对比一下混工资的水平
- 一个验网址是否合法十分准确的正则表达式
- 一个涉及比较多的正则表达式, 希望可以帮助大家对正则有更多了解.
- 现知道一服务器有合法ip,现在在远端应如何连接到这个服务器访问
- 一个可以解析嵌套IIF语句的代码
- 现在正在写一个搜索功能代码 需要用到正则表达式