容斥原理
容斥原理
有n个集合,S1,S2,S3…Sn,|S|表示集合S的元素个数
|⋃ni=1Si|=∑ni=1|Si|−∑ni<j≤n|Si∩Sj|+∑nj<k≤n|Si∩Sj∩Sk|…
插板法
问题
有n个苹果以及m个盘子
要把这n个苹果全部放入m个盘子中
在每一个盘子上放至少1个球
盘子两两不同,所有苹果相同
求可行的方案数
解法
把n个苹果排成一排
那么只需要用m−1块板,每块板把相邻的两个苹果隔开
就能对应出一种方案数
n个苹果有n−1个位置可以进行插板
选择其中的m−1个位置
总方案数为Cm−1n−1
组合数参考组合计数
有约束的问题
若满足题目要求的方案数比较难求
那么就可以用总方案数−不满足此要求的方案数
即满足题目要求的方案数
问题
有n个苹果以及m个盘子
要把这n个苹果全部放入m个盘子中
在第i个盘子上放至少1个球,至多放Ai个球
盘子两两不同,所有苹果相同
求可行的方案数
解法
设第i个盘子里放了Xi个球
满足∑mi=1Xi=n
且∀Xi≤Ai(1≤i≤m)
S表示集合1,2,3…,n的一个子集
TS表示任意摆放苹果后,对于S中所有元素,i∈S,Xi>Ai的方案总数
那么Ans=Cm−1n−1−T1−T2−....−Tn+T1,2+T1,3+…
其中
TS=Cm−1n+m−1−∑Ai−1(i∈S)