相邻问题和区域问题

来源:互联网 发布:python黑帽子中文网盘 编辑:程序博客网 时间:2024/06/14 19:23
相邻问题使用捆绑法解决
问题1:
      26个英文字母能组成多少4位数的字符串,其中每位字母都不相同且b和d不相邻? 
答案: num = A(26,4) –C(24,2)*3!*2 
解析:   先取总的方案数既 A(26, 4) , 再将b、d捆绑看成一个元素, 相当于已经先取了b和d,再从26-2个元素中取2个出来,再对这3个元素进行全排列既3!。注意最后的乘2操作是考虑bd和db两种不同顺序的情况

区域问题使用隔板法解决
问题2:
       乒乓球入洞游戏:共有6个洞,洞口每次只能进入一个乒乓球,一组编号为1-9的9
个乒乓球滚入洞口的方案有多少?
自己的第一想法是 : num = 6^9 个
   错误的原因在于,第一个球有6个选择,但第一个球确定位置后,第二个球变成了7个可选择的区域,既可以把第一个球也当成一块隔板看待。如  “    ①   |   |   |   |   |      ”     
同理,三个球变成了8个可选区域,所以总的方案是 num = 6 * 7 * 8…… * 14   (第一种解法,分步策略)
    第二种解法,考虑多重排列来解
    将5块隔板也想象成5个球,相当于总数是 (5+9)! 种情况,而重复元素既板的重复度是5,所以 方案数  num = 14! / 5!   
0 0