驅動程式設計:登錄檔回撥,程序回撥,檔案回撥,程序隱藏斷鏈,視窗保護
阿新 • 來源:網路 • 發佈:2023-02-06
組合數學:
概念與計數:
基本計數原理:
分類計算加法原理,分佈計算乘法原理。
簡單容斥與摩根定理:
- \(\begin{vmatrix}A\cup B\end{vmatrix}=\begin{vmatrix}A\end{vmatrix}+\begin{vmatrix}B\end{vmatrix}-\begin{vmatrix}A\cap B\end{vmatrix}\)
- \(\begin{vmatrix}A\cup B\cup C\end{vmatrix}=\begin{vmatrix}A\end{vmatrix}+\begin{vmatrix}B\end{vmatrix}+\begin{vmatrix}C\end{vmatrix}-\begin{vmatrix}A\cap B\end{vmatrix}-\begin{vmatrix}A\cap C\end{vmatrix}-\begin{vmatrix}C\cap B\end{vmatrix}+\begin{vmatrix}A\cap B\cap C\end{vmatrix}\)
摩根定理: 交集的補等於補集的並,並集的補等於補集的交。
即 \(\overline{A\cup B}=\overline{A}\cap\overline{B}\) \(\overline{A\cap B}=\overline{A}\cup\overline{B}\)
\[\left| \bigcup_{i=1}^n A_i\right|=\sum_{\varnothing\not={\rm J}\subseteq\{1,\cdots,n\}}(-1)^{\begin{vmatrix}{\rm J}\end{vmatrix}+1}\left| \bigcap_{{\rm j}\in{\rm J}} A_j\right|\\ \left| \bigcap_{i=1}^n \overline{A_i}\right|=\sum_{{\rm J}\subseteq\{1,\cdots,n\}}(-1)^{\begin{vmatrix}{\rm J}\end{vmatrix}}\left| \bigcap_{{\rm j}\in{\rm J}} A_j\right|\\ \left| \bigcap_{i=1}^n A_i\right|=\sum_{{\rm J}\subseteq\{1,\cdots,n\}}(-1)^{\begin{vmatrix}{\rm J}\end{vmatrix}}\left| \bigcap_{{\rm j}\in{\rm J}} \overline{A_j}\right|\\ \]
組合計數:
排列數:
從 \(n\) 個不同元素中依次取出 \(m\) 個元素排成一列,產生的不同排列的數量為:(取 \(m\) 個,將 \(m\) 個排序)
\[A_n^m(P_n^m)=\frac{n!}{(n-m)!}
\]
組合數:
從 \(n\) 個不同元素中取出 \(m\) 個組成一個集合(不考慮順序),產生的不同集合的數量為:
\[C_n^m= \begin{pmatrix}
n\\m
\end{pmatrix}
=\frac{n!}{m!(n-m)!}
\]
性質:
- \(A_n^k=C_n^k\times k!\)
- \(C_n^m=C_n^{n-m}\)
- \(C_n^m=C_{n-1}^m+C_{n-1}^{m-1}\) (楊輝三角)
- \(\frac{k}{n}\times C_n^k=C_{n-1}^{k-1}\)
- \(\sum_{i=0}^nC_n^i=2^n\)
- \(\sum_{i=0}^n(-1)^iC_n^i=0\)
組合數求解:
單個組合數 \(O(n)\)
int C(int n, int k) {
int p = 1, q = 1;
for (int i = n - k + 1; i <= n; ++i)
p *= i;
for (int i = 1; i <= k; ++i)
q *= i;
return p / q;
}
求 \(C_i^j(i\in[0,n-1],j\in[1,i])\) 遞推 \(O(n^2)\)
for (int i = 0; i < n; ++i) {
C[i][0] = 1;
for (int j = 1; j <= i; ++j) {
C[i][j] = C[i - 1][j - 1] + C[i - 1][j];
}
}
二項式定理:
\[(a+b)^n=\sum_{k=0}^nC_n^ka^kb^{n-k}\\
(a-b)^n=\sum_{k=0}^n(-1)^kC_n^ka^kb^{n-k}
\]
