组合数学是数学的一个重要分支,在ACM竞赛中占有极大的比重
组合数学主要研究:按某种约束条件组成的各种离散问题。
- 问题的解
- 解的存在性
- 计数问题与分类
- 能行性问题(构造算法)
- 最优化问题
计算:
Cmn=n!m!×(n−m)!
,
Amn=n!m!
Cmn=Cmn−1+Cm−1n−1
Cmm+Cmm+1+...+Cmm+n=Cm+1m+n+1
C0n+C1n+1+...+Ckn+k=Ckn+k+1
C22n=2C2n+n2
情况:
n球m盒子:
An+m−1n+m−1
- 球相同:除以
Ann
- 盒子相同:除以
Am−1m−1
n个人站一排:
Ann
n个人站一圈:
Ann/n=An−1n−1
n男m女站一排(相当于n+m位置选n个):
Cnn+m
n男m女站一圈:不知道。。。
男生不能站在一起,插空法
男生必须站在一起,捆绑法
k个元素的无限集取r个的全排列:
Kr
k个元素的无限集取r个的组合数:
Crk+r−1
k个元素的无限集取r个且每个元素至少有一个的组合数:
Ck−1r−1
错排公式:
[n!/e+0.5]