Combination
组合是从 n 个元素中无序选取 k 个的方式数 C(n,k)=n!/(k!(n-k)!),即二项式系数。
用途
计算无序选取的方式数,是组合数学与概率的基础。
机制
C(n,k) = n!/(k!(n-k)!) = C(n,n-k)。递推:C(n,k)=C(n-1,k-1)+C(n-1,k)(杨辉三角)。大数用对数或递推避免溢出。C(n,0)=1, C(n,n)=1。
用例
- 概率计算(二项分布)
- 组合枚举
- 二项式展开系数
- 超几何分布
示例
- 输入
C(5,2)=5!/(2!3!)=10输出10Choosing 2 of 5, unordered
常见错误
- Computing factorials directly overflows
- Use the recurrence or logarithms