摘要
組合數學又被稱為離散數學,是數學中的一個重要分支。在信息學領域,主要用到的內容為排列、組合、容斥原理等。
? 加法原理與乘法原理
加法原理:做一件事情,完成它可以有n類辦法,在第一類辦法中有m1種不同的方法,在第二類辦法中有m2種不同的方法,……,在第n類辦法中有mn種不同的方法。那么完成這件事共有N=m1+m2+,…,+mn種不同的方法。
乘法原理:做一件事情,完成它需要分成n個步驟,做第一步有m1種不同的方法,做第二步有m2種不同的方法,……,做第n步有種mn不同的方法,那么完成這件事有N=m1*m2*,…,*mn種不同的方法。
兩個原理的區別:一個與分類有關,一個與分步有關;加法原理是“分類完成”,乘法原理是“分步完成”。
? 組合
? 鴿巢原理(抽屜原理)
簡單形式:如果n+1個物體被放進n個盒子,那么至少有一個盒子包含兩個或更多的物體。
加強形式:令q1, q2, ... ,qn為正整數。如果將q1+q2+…+qn-n+1個物體放入n個盒子內,那么或者第一個盒子至少含有q1個物體,或者第二個盒子至少含有q2個物體,…,或者第n個盒子含有qn個物體
? 容斥原理與錯位排列
u 求解組合數學類題目時,需要明確該用哪種組合數學方法。
u 計算過程中,根據題目要求,使用直接求解公式或遞推公式(一般使用遞推公式)。
u 在需要用高精度運算情況下使用高精度。