组合数学题
(1)10个不同的球,放入3个不同的桶内,共有多少种方法?
答案:每个球有3种放法,ans=310。
(2)Given a string with n characters, suppose all the characters are different from each other, how many different substrings do we have?
答案:长度为n的1个,n-1的2个...1的n个,ans=1+2+...+n=n*(n+1)/2。注:不含空串。
(3)6×9的的方格中,起点的左下角,终点在右上角,从起点到终点,只能从下向上,从左向右走,问一共有多少种不同的走法?注:起/终点都是点,边代表路。
答案:需向右走9段,向上走6段,每次都可以向上或者向下,直到该方向段数走完,则ans=C(15,6)=5005。
(4)每份考卷都有一个8位二进制序列号。当且仅当一个序列号含有偶数个1时,它才是有效的。例如,00000000、01010011都是有效的序列号,而11111110不是。那么,有效的序列号共有多少个?
答案:8个位置,取出偶数个位置来放1,并且所有1之间是无序的。ans=C(8,0)+C(8,2)+C(8,4)+C(8,6)+C(8,8)=1+2*C(8,2)+C(8,4)+1=128。
(5)书架一排有5个格子。现在有20本书,编号从1到20。要求20本书要摆放在同一排里,并且从左到右编号依次递减;每个格子至少有一本书;并且编号7,8,9的书籍必须在同一个格子里面。问,一共有多少种可能的摆放方法?
答案:将7,8,9看成一本书,则剩18本分别是1,2...18,共有17个间隙,可以放4块板子隔开他们,变成5格。ans=C(17,4)=2380。
(6)村长带着4对父子参加爸爸去哪儿第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个千年的规矩,那就是吃饭时候小孩左右只能是其他小孩或自己的父母,那么4对父子在圆桌上共有多少种坐法。(旋转一下,每个人面对方向变更后算是一种新的坐法)
答案:□表示父亲,●表示孩子。共有2种坐法,“□□□□●●●●”和“□●□●□●□●”。第一种,ans1=4!*2*8=384。第二种:ans2=3*4*8=96。ans=ans1+ans2=480。注意第二种在旋转后可能会重复,可能的情况有:AaBbCcDd,AaCcDdBb,AaCcBbDd(注意C父子的旁边换人了),每对父子还可以与对面的父子交换所以*4。
(7)你有一个由3X3X3的小立方体组成的大立方体。你现在在正面左上的顶点,需要移动到对角线的背面右下的顶点中。每次移动只能走小立方体的边(可以穿过大立方体),但只能从前至后、从左至右、从上至下运动,即不允许斜向或后退。有多少种方法?
答案:需要往右3次,下3次,后3次,按照二维的计算方法就行了,ans=C(9,3)*C(6,3)*C(3,3)=1680。
(8)12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?
答案:参考Catalan数,Cn=C(2n,n)/n+1=C( 12,6)/7=132。注意,此题的n必须为偶数(必须是两行),那么计算Cn时,n要减半。
(9)6支笔,其笔身和笔帽颜色相同:但6支笔颜色各不相同,求全部笔身都戴错笔帽的可能性有多少种?
答案:相当于6个人站起来,不再坐回原位的可能性。设答案为D[6],分解问题,第6个人可能坐在1~5中任何一个,假设为k,那么k若坐到6,则问题为D[4],若k不坐到6(假设6是k的原位),则问题为D[5],那么答案就是D[6]=5*(D[4]+D[5])。递推式D[n]=(n-1)*(D[n-2]+D[n-1]),是标准的错排公式。
(10)从1,2,3,4...8,9里任意选择一部分数(至少1个),能得到多少种不同的乘积?
答案:将所有数分解因子得到:9!=27*34*5*7,那么组合数为C(8,1)*C(5,1)*C(2,1)*C(2,1)=8*5*2*2=160,但是其中部分数组不成,27*30 和 20*34,即2*2*C(2,1)=8,所以ans=160-8=152。
(11)用两种颜色去染找成一个圈的6个棋子,如果通过旋转得到则只算一种,则一共有多少种染色模式?
答案:14种,直接暴力枚举,0黑/白,1黑/白....一直枚举,注意去重。若棋子较多就得用polya定理了。
(12)How many rectangles you can find from 3*4 grid?
答案:两条横线加两条竖线可以构成矩形,现在有4条横线,5条竖线,ans=C(4,2)*C(5,2)=6*10=60。
(13)有10颗糖,如果每天至少吃一颗(多不限),吃完为止,问有多少种不同的吃法?
答案:糖之间并无区分,假设用k块板子将糖隔开表示不同一天,0<=k<=9,则ans=C(9,0)+C(9,1)+...C(9,9)=512。
(14)设S为一个长度为n的字符串,其中的字符各不相同,则S中的互异的非平凡子串(非空且不同于S本身)的个数为?
答案:ans=(n2/2)+(n/2)-1。
(15)10个相同的糖果,分给三个人,每个人至少要得一个。有多少种不同分法?
答案:插板法,10个排成一排,9个空可以插两个板子,ans=C(9,2)。
(16)1-9这9个数字中,选3个出来,其和为奇数的组合有几个?
答案:1奇2偶,3奇,这两种才可以,而奇数5个,偶数4个,ans=C(5,1)*C(4,2)+C(5,3)=40。
(17)马路上有编号1,2,3...10的十盏路灯,为节约用电而又不影响照明,可以把其中3盏灯关掉,但不可以同时关掉相邻的两盏,在两端的灯都不能关掉的情况下,有多少种不同的关灯方法?
答案:除开1和10,剩下8盏,枚举最后一个灯的位置,再枚举两个灯相连的情况种数,就可以算了。ans=20。
(18)公司各部门每月都要组织员工进行一次团建互动(team building,简称TB),每个员工最多可以带一名家属参加。活动内容出了吃喝玩之外,还要做一些互动的游戏,需要从员工中随机选出几名组成一队来完成游戏。一次TB活动,一共有20个人参加。已知如果随机选取3位员工,一共有220组合。问如果每次随机选取4个员工,会有多少组合?
答案:因C(12,3)=220,所以员工12人,则ans=C(12,4)。
(19)推理:24个人,每人至少养一种宠物,养鸟、狗、鱼、猫的分别为13、5、10、9人,同时养鸟和狗的2人,同时养鸟和鱼、鸟和猫、鱼和猫的各为4人,养狗的既不养猫也不养鱼。问只养一种宠物的总共几人?同时养鸟鱼猫的几人?
答案:http://www.nowcoder.com/questionTerminal/3221395b69774e5cadf86b3074d3d08f
http://www.nowcoder.com/test/question/done?tid=2012210&qid=15742#summary