允许重复选取的组合数
来源:互联网 发布:日本人 二战 知乎 编辑:程序博客网 时间:2024/05/20 08:24
问题: 从1,2,3,。。。,10,11,12,13里面选4个数,允许重复,例如:(1、3、5、11),(3、3、11、13)等,问共有多少种选取方法?
答案: (13×14×15×16)/(1×2×3×4)=1820
原理:用12个“1”分隔出13个区域,各个区域代表1、2、3、。。。、12、13,选取的4个数用4个“0”,放入相应的区域。
例如:(1、3、5、11),在代表1、3、5、11的区域放入“0”,就是:0110110111111011(12个1和4个0)
再例如:(3、3、11、13),在代表3、3、11、13的区域放入“0”,就是110011111111010(12个1和4个0)
问题中求解的组合数,和12个1和4个0的所有不同的排列个数相等。16个元素的全排列是16!,其中12个1相同,要除以12!,4个0相同,要除以4!,所以
答案是:((13-1)+4)!/((13-1)!×4!)
一般讲,从N个数中选取k个数,可以重复选取,答案是: (((N-1)+k)!/((N-1)!×k!)
0 0
- 允许重复选取的组合数
- poj 1959 Darts 允许重复组合
- poj 3046 dp(有重复元素的组合数)
- 递归列举从数组b()中选出某些元素(允许重复)使其和等于num的所有组合
- 重复数字的组合
- bzoj 1630 && 2023: [Usaco2005 Nov]Ant Counting 数蚂蚁(有重复元素的组合数)
- 整数的拆分问题(允许重复)
- 允许重复数字的划分树
- 允许Key重复的Map - IdentityHashMap
- 允许重复的子接口List
- Combination Sum II 组合数之和(包含有重复的元素)
- Saving Beans HDU3037 ( 可重复的组合数计数原理+Lucas定理 )
- 组合数的输出
- 组合数的奇偶性
- 组合数的奇偶性
- 组合数的计算
- 数组的组合数
- 组合数的奇偶性
- 二叉树查找删除
- Map日常--遍历Map,Map转Lis
- 制作自已的Linux操作系统ISO
- 区分JS中的undefined,null,"",0和false
- 15-hibernate中的悲观锁和乐观锁
- 允许重复选取的组合数
- 有关提示vector iterator not dereferencable的问题
- 缩写记录
- LeetCode-Remove Element
- hdu 1232畅通工程
- C# 文件及其文件夹基础操作
- 正式生产环境下hadoop集群的DNS+NFS+ssh免密码登陆配置
- 安卓之wifi搜索周围wifi
- Map日常--Map排序,遍历Map