一、組合數
1.遞推式
$\displaystyle\binom{n}{m} = \displaystyle\binom{n - 1}{m - 1} + \displaystyle\binom{n - 1}{m}$
證:左邊相當於從$n$個數中選$m$個數,右邊列舉第$n$個數選不選。如果選,就從剩下$n - 1$個數中選$m - 1$個;如果不選,就從剩下$n - 1$個數中選$m$個。
2.對稱性
$\displaystyle\binom{n}{m} = \displaystyle\binom{n}{n - m}$
證:左邊相當於從$n$個數中選$m$個數留下,右邊相當於從$n$個數中選$n - m$個數丟棄。
3.吸收/相伴等式
$\displaystyle\frac{\displaystyle\binom{n}{m}}{\displaystyle\binom{n - 1}{m - 1}} = \displaystyle\frac{n}{m}$
證:原式 $= \displaystyle\frac{\displaystyle\frac{n!}{(n - m)!m!}}{\displaystyle\frac{(n - 1)!}{(n - 1 - m + 1)!(m - 1)!}}=\displaystyle\frac{\displaystyle\frac{n!}{m!}}{\displaystyle\frac{(n - 1)!}{(m - 1)!}} = \displaystyle\frac{n}{m}$
$\displaystyle\frac{\displaystyle\binom{n}{m}}{\displaystyle\binom{n - 1}{m}} = \displaystyle\frac{n}{n - m}$
證:原式 $= \displaystyle\frac{\displaystyle\frac{n!}{(n - m)!m!}}{\displaystyle\frac{(n - 1)!}{(n - 1 - m)!m!}} = \displaystyle\frac{\displaystyle\frac{n!}{(n - m)!}}{\displaystyle\frac{(n - 1)!}{(n - m - 1)!}} = \displaystyle\frac{n}{n - m}$
$\displaystyle\frac{\displaystyle\binom{n}{m}}{\displaystyle\binom{n}{m - 1}} = \displaystyle\frac{n - m + 1}{m}$
證:原式 $= \displaystyle\frac{\displaystyle\frac{n!}{(n - m)!m!}}{\displaystyle\frac{n!}{(n - m + 1)!(m - 1)!}} = \displaystyle\frac{(n - m + 1)!(m - 1)!}{(n - m)!m!} = \displaystyle\frac{n - m + 1}{m}$
4.上指標反轉
$\displaystyle\binom{n}{m} = (-1)^m\displaystyle\binom{m - n - 1}{m}$
證:原式 $= \displaystyle\frac{n^{\displaystyle\underline{\displaystyle{m}}}}{m!} = (-1)m\displaystyle\frac{(-n){\displaystyle\overline{\displaystyle{m}}}}{m!} = (-1)^m\displaystyle\frac{(m - n - 1)^{\displaystyle\underline{\displaystyle{m}}}}{m!} = (-1)^m\displaystyle\binom{m - n - 1}{m}$
5.三項式係數恆等式
$\displaystyle\binom{n}{m}\displaystyle\binom{m}{k} = \displaystyle\binom{n}{k}\displaystyle\binom{n - k}{m - k}$
證:左邊相當於從$n$個數中選$m$個數,再從這$m$個數中選$k$個數,右邊相當於從$n$個數中選$k$個數,這些數一定包含在要選的$m$個數中,因此就只用在剩下$n - k$個數中選$m - k$個數。
6.上指標求和
$\displaystyle\sum_{i=0}^{n}\displaystyle\binom{i}{m} = \displaystyle\binom{n + 1}{m + 1}$
證:①原式 $= \displaystyle\sum_{i=m}{n}\displaystyle\frac{i{\displaystyle\underline{\displaystyle{m}}}}{m!}$ (當$i \displaystyle\leq m$時,無法從$i$個數中選出$m$個數,因此省去) $= \displaystyle\frac{1}{m!}\displaystyle\sum_{i=m}{n}i{\displaystyle\underline{\displaystyle{m}}}$ ($\displaystyle\frac{1}{m!}$與$i$無關,可以提出) = $\displaystyle\frac{1}{m!}[\displaystyle\frac{(n + 1)^{\displaystyle\underline{\displaystyle{m + 1}}}}{m + 1} - \displaystyle\frac{m^{\displaystyle\underline{\displaystyle{m + 1}}}}{m + 1}]$ (離散微積分,具體證明可見《離散微積分學習筆記》) $= \displaystyle\frac{(n + 1)^{\displaystyle\underline{\displaystyle{m + 1}}}}{(m + 1)!} = \displaystyle\binom{n + 1}{m + 1}$
②右邊相當於從$n + 1$個數中選出$m + 1$個數,左邊相當於確定了第$m + 1$個數的位置$i + 1$,要從前$i$個數中再選$m$個。
練習一
化簡:$\displaystyle\sum_{i=0}^{m}\displaystyle\binom{n + i}{i}$
解:原式 $= \displaystyle\sum_{i=0}^m\binom{n + i}{n} $(對稱性)$= \displaystyle\binom{n + m + 1}{n + 1}$(上指標求和)
7.下指標求和
$\displaystyle\sum_{i=0}^{n}\displaystyle\binom{n}{i} = 2^n$
證:①左邊相當於從$n$個數中選任意個數,每個數都有選或不選兩種方案,因此有$2^n$種方案。
②當二項式定理中$x$和$y$都為$1$,就可以得出此等式
例題一
一句話題意:給$q$組詢問,每次給出$n, m$,求$\displaystyle\sum_{i=0}^{m}\displaystyle\binom{n}{i}$
$q, n, m \leq 105$,對$109 + 7$取模
解:把$n, m$看成區間,使用莫隊演算法(我不會qwq):
$n \rightarrow n + 1$:$\displaystyle\sum_{i=0}^m\displaystyle\binom{n + 1}{i} = \displaystyle\sum_{i=0}^m\displaystyle\binom{n}{i} + \displaystyle\sum_{i=0}^m\displaystyle\binom{n - 1}{i} = 2\displaystyle\sum_{i=0}^m\displaystyle\binom{n}{i} - \displaystyle\binom{n}{m}$(兩排錯位相加,減掉最後一位)
$m \rightarrow m + 1$:$\displaystyle\sum_{i=0}^{m + 1}\displaystyle\binom{n}{i} = \displaystyle\sum_{i=0}^m\displaystyle\binom{n}{i} + \displaystyle\binom{n}{m + 1}$
8.下指標卷積 | 範德蒙德卷積
$\displaystyle\sum_{i=0}^{k}\displaystyle\binom{n}{i}\displaystyle\binom{m}{k - i} = \displaystyle\binom{n + m}{k}$
證:左邊相當於從$n$個數中選$i$個數,再從$m$個數中選$k - i$個數,右邊相當於從$n + m$個數中選$k$個數,兩者意義相同
練習二|下指標點積
化簡$\displaystyle\sum_{i=0}^{m}\displaystyle\binom{n}{i}\displaystyle\binom{m}{i}$
解:原式 $=\displaystyle\sum_{i=0}^{m}\displaystyle\binom{n}{i}\displaystyle\binom{m}{m - i}$(對稱性) = $\displaystyle\binom{n + m}{m}$(下指標卷積)
9.上指標卷積
$\displaystyle\sum_{i=0}^{n}\displaystyle\binom{i}{a}\displaystyle\binom{n - i}{b} = \displaystyle\binom{n + 1}{a + b + 1}$
證:左邊相當於在$n$個數中插入一個擋板,在擋板左邊的數中選$a$個,在擋板右邊的數中選$b$個,如果將擋板也看作一個數,那麼就等於從$n + 1$個數中選$a + b + 1$個數,即右邊的表示式
練習三
化簡:$\displaystyle\sum_{i=m}{n}(-1)i\displaystyle\binom{n}{i}\displaystyle\binom{i}{m}$
解:原式 $= \displaystyle\sum_{i=m}{n}(-1)i\displaystyle\binom{n}{m}\binom{n - m}{i - m}$(三項式係數恆等式) $= \displaystyle\binom{n}{m}\displaystyle\sum_{i=m}{n}(-1)i\displaystyle\binom{n - m}{i - m}$($\displaystyle\binom{n}{m}$與$i$無關,可以提出) $= \displaystyle\binom{n}{m}\displaystyle\sum_{i=m}{n}(-1)i\displaystyle\frac{(n - m)^{\displaystyle\underline{\displaystyle{i - m}}}}{(i - m)!}$(組合數展開) $=\displaystyle\binom{n}{m}\displaystyle\sum_{i=m}{n}(-1)m\displaystyle\frac{(i - n - 1)^{\underline{i - m}}}{(i - m)!}$(上指標反轉) $= (-1)m\displaystyle\binom{n}{m}\displaystyle\sum_{i=m}\displaystyle\binom{i - n - 1}{m - n - 1}$(組合數的定義) $= (-1)^m\displaystyle\binom{n}{m}\displaystyle\binom{0}{m - n} = \left{
\begin{array}{lr}
(-1)^{m} & : m = n\
0 & : m \neq n
\end{array}
\right.$
例題二
有標號連通圖計數,$n \leq 10^3$
分析:記$f_i$表示大小為$i$的有標號連通圖的個數,$g_i$表示大小為$i$的有標號圖的個數,則$g_i = 2^{\binom{n}{2}}$。考慮簡單容斥,求大小為$i$i 的有標號不連通圖的個數:假設$1$號點所在連通塊大小為$j(j < i)$,則有$f_i = g_i -\displaystyle\sum_{j = 1}^{i - 1}\displaystyle\binom{i - 1}{j - 1}f_j$
$O(n^2)$ dp即可。
例題三
一句話題意:給定$L$,$T$次詢問,每次給定$n, m, k$,求:$\displaystyle\sum_{i=0}^k\displaystyle\binom{m}{i}\binom{n - m}{k - i}i^L$
$T \leq 200, n, m, k \leq 2 \times 10^7, L \leq 2 \times 10^5$
分析:原式 $= \displaystyle\sum_{i=0}^k\displaystyle\binom{m}{i}\binom{n - m}{k - i}\displaystyle\sum_{j=0}L\Large{_jL}i^{\underline{j}}$(斯特林數的計算式) $= \displaystyle\sum_{i=0}^k\displaystyle\binom{m}{i}\binom{n - m}{k - i}\displaystyle\sum_{j=0}L\Large{_jL}\normalsize\binom{i}{j}j!$(組合數的計算式) $= \displaystyle\sum_{j=0}L\displaystyle\sum_{i=0}kj!\Large{j^L}\normalsize\binom{m}{i}\binom{i}{j}\binom{n - m}{k - i}$(將求和移動到最外層) $= \displaystyle\sumL\displaystyle\sum_{i=0}kj!\Large{j^L}\normalsize\binom{m}{j}\displaystyle\binom{m - j}{i - j}\displaystyle\binom{n - m}{k - i}$(三項式係數恆等式
) $= \displaystyle\sumLj!\Large{_jL}\normalsize\binom{m}{j}\displaystyle\sum_{i=0}^k\displaystyle\binom{m - j}{i - j}\displaystyle\binom{n - m}{k - i}$(將只與$j$有關的因式外移) $= \displaystyle\sum_{j=0}Lj!\Large{_jL}\normalsize\binom{m}{j}\displaystyle\binom{n - j}{k - j}$
預處理一下斯特林數和組合數就可以$O(L)$每次詢問了。
10.Lucas 定理
$\displaystyle\binom{n}{m} \equiv \displaystyle\binom{\lfloor\displaystyle\frac{n}{p}\rfloor}{\lfloor\displaystyle\frac{m}{p}\rfloor}\displaystyle\binom{\displaystyle\text{n mod p} }{\displaystyle\text{m mod p}}(\displaystyle\text{mod p})$
證:①$\because\displaystyle\binom{p}{m} \text{mod p} = [m = 1 \vee m = p]$
$\therefore (a + b)^p \equiv a^p + b^p(\text{mod p})$(二項式定理展開);
$\displaystyle\binom{n}{m} = [x^m](1 + x)n$($[xi]$表示多項式中$x^i$項的係數,由二次項定理可得)
$\therefore (1 + x)^n = (1 + x^{p\lfloor\frac{n}{p}\rfloor})(1 + x)^{n\text{ mod }p}$
$\because (1 + x^{p\lfloor\frac{n}{p}\rfloor}) \equiv (1 + xp)\rfloor}}(\text{mod }p)$只有產生$p$倍數處的貢獻,而
$(1 + x)^{n\text{ mod }p}$只在$0 \longrightarrow p - 1$處產生貢獻,所以每個位置剛好被貢獻一次。
②對於素數$m, r \in (0, m)$
$\displaystyle\binom{m}{r} = \displaystyle\frac{m!}{r!(m - r)!} = \displaystyle\frac{(m - 1)!}{(r - 1)!(m - r)!} \times \displaystyle\frac{m}{r} = \displaystyle\binom{m - 1}{r - 1} \times \displaystyle\frac{m}{r} \equiv 0(\text{mod }m)$
帶入二項式定理的展開式,得:
$(1 + x)^m = \displaystyle\sum_{r = 0}m\displaystyle\binom{m}{r}xr = 1 + \displaystyle\sum_{r=1}^{m - 1}\displaystyle\binom{m}{r}x^r + x^m \equiv 1 + x^m (\text{mod } m)$
令$n = sm + a$,有:
$(1 + x)^n = (1 + x)^{sm + a} = (1 + x)^{sm}(1 + x)^a \equiv(1 + xm)s(1 + x)^a \equiv (\displaystyle\sum_{i=0}s\displaystyle\binom{s}{i}x)(\displaystyle\sum_{j=0}a\displaystyle\binom{a}{j}xj) (\text{mod } m)$
又根據二項式定理$(1 + x)^n = \displaystyle\sum_{r=0}n\displaystyle\binom{n}{r}xr$,與上式對比得:
$\displaystyle\sum_{r=0}n\displaystyle\binom{n}{r}xr \equiv (\displaystyle\sum_{i=0}s\displaystyle\binom{s}{i}x)(\displaystyle\sum_{j=0}a\displaystyle\binom{a}{j}xj) (\text{mod } m)$
對比兩邊第$x^r$次項的係數,根據$r = im + j, i = r / m, j = r \text{ mod } m, a = n \text{ mod } m, s = n / m$,得:
$\displaystyle\binom{n}{r} \equiv \displaystyle\binom{i}{s}\displaystyle\binom{j}{a} (\text{mod m}) \equiv \displaystyle\binom{\lfloor\displaystyle\frac{r}{m}\rfloor}{\lfloor\displaystyle\frac{n}{m}\rfloor}\displaystyle\binom{\displaystyle\text{r mod m} }{\displaystyle\text{n mod m}}(\displaystyle\text{mod m})$
二、二項式定理
11.二項式定理
$(x + y)^n = \displaystyle\sum_{i=0}{n}\displaystyle\binom{n}{i}xy^i$
證:第$i$項的係數等於從$n$個$x + y$中選出$i$相乘後最高項係數和
練習四|牛頓級數
記$\trianglena$表示數列$a$差分$n$次後的數列,證明:$\trianglena_i=\displaystyle\sum_{j=0}n(-1)j\displaystyle\binom{n}{j}a_{i-j}$
證:①:當差分一次時,式子成立;假設對於前$n$次差分,都有$\triangle^na_i = \displaystyle\sum_{j=0}n(-1)j\displaystyle\binom{n}{j}a_{i-j}$,則$\triangle^{n + 1}a_{i} =\displaystyle\sum_{j=0}n(-1)j\displaystyle\binom{n}{j}a_{i-j} - \displaystyle\sum_{j=0}n(-1)j\displaystyle\binom{n}{j - 1}a_{i-1-j} = \displaystyle\sum_{j=0}n(-1)j\displaystyle\binom{n}{j}a_{i-j} + \displaystyle\sum_{j=1}^{n + 1}(-1)^j\displaystyle\binom{n}{j - 1}a_{i-j} = \displaystyle\sum_{j=1}^{n + 1}(-1)^j[\displaystyle\binom{n}{j}+\displaystyle\binom{n}{j - 1}]a_{i-j} = \displaystyle\sum_{j=1}^{n + 1}(-1)^j\displaystyle\binom{n + 1}{j}a_{i-j}$
符合數學歸納法,等式成立
②設$I_{a_i} = a_i, E_{a_i} = a_{i-1}$
則$\triangle^na_i = (I - E)^n = \displaystyle\sum_{j=0}n\displaystyle\binom{n}{j}I(-E^j) = \displaystyle\sum_{j=0}n\displaystyle\binom{n}{j}(-Ej)$($I$變換多少次都不會影響序列) $= \displaystyle\sum_{j=0}n(-1)j\displaystyle\binom{n}{j}E^j$(將$-1$提出) $= \displaystyle\sum_{j=0}n(-1)j\displaystyle\binom{n}{j}a_{i-j}$($E^j$相當於將$a_i$左移$j$位,到$a_{i-j}$)
三、錯排
12.錯排
記$f_n$表示長度為$n$的,且不存在$p_i = i$的排列的個數
則$f_n = (n - 1)(f_{n - 1} + f_{n - 2})$
證:考慮數字$1$有$n - 1$种放法,假如放到了位置$k$,那位置$k$處的數字有兩種型別的放法:要麼放在位置$1$,那麼剩下物品的放法就有$f_{n - 2}$種
要麼放在除$1$外的其他位置,那麼讓最後排完了時排在$1$位置的數字與排在$k$位置的數字$1$交換,不看$1$位置,就得到了一個大小為$n - 1$的錯排,也就是這種情況下的每種方案可以與大小為$n - 1$的錯排一一對應,故這種情況
有$f_{n - 1}$種方案。
例題四
一句話題意:記$cyc_{\pi}$表示將排列$\pi$看成置換,其中迴圈的個數。給定$n, k$和一個$k - 1$次多項式$F$,對於所有$1 \leq n \leq m$求$\displaystyle\sum_{\pi}F(cyc_{\pi})$
其中$\pi$表示長度為$m$的錯排
$n \leq 6 \times 10^5, k \leq 100$,對$998244353$取模
分析:原式 $= \displaystyle\sum_{\pi}\displaystyle\sum_{i=0}^{k - 1}f_icyc_{\pi}^i$(將多項式展開) $= \displaystyle\sum_{\pi}\displaystyle\sum_{i=0}^{k - 1}f_i\displaystyle\sum_{j=0}i\Large{_{j}i}\normalsize\binom{cyc_{\pi}}{j}j!$(斯特林數的計算式) $= \displaystyle\sum_{\pi}\displaystyle\sum_{i=0}^{k - 1}\displaystyle\sum_{j=0}if_i\Large{_{j}i}\normalsize\binom{cyc_{\pi}}{j}j!$(將求和移動到最外層) $= \displaystyle\sum_{\pi}\displaystyle\sum_{j=0}^{k - 1}\displaystyle\sum_{i=j}^{k - 1}f_i\Large{{j}^i}\normalsize\binom{cyc{\pi}}{j}j!$(交換求和順序) $= \displaystyle\sum_{\pi}\displaystyle\sum_{j=0}^{k - 1}\displaystyle\binom{cyc_{\pi}}{j}j!\displaystyle\sum_{i=j}^{k - 1}f_i\Large{{j}^i}$(將只與$j$有關的因式外移) $= \displaystyle\sum^{k - 1}j!\displaystyle\sum_{\pi}\displaystyle\binom{cyc_{\pi}}{j}\displaystyle\sum_{i=j}^{k - 1}f_i\Large{_{j}^i}$(將只與$\pi$有關的因式內移)
其中$\displaystyle\sum_{i=j}^{k - 1}f_i\Large{_{j}i}$可以$O(k2)$預處理
記$C_{t, i}$表示有$i$個迴圈,長度為$t$的錯排數
則$C_{t, i} = (t - 1)(C_{t - 2, i - 1} + C_{t - 1, i})$(與錯排遞推式推導類似)
記$P_{t, i} = \displaystyle\sum_{|\pi|=t}\displaystyle\binom{cyc_{\pi}}{i}$
考慮列舉迴圈個數,當迴圈個數為$j$時,有$C_{t, j}$種排法,每種排法對$P_{t, i}$的貢獻為$\displaystyle\binom{j}{i}$
則$P_{t, i} = \displaystyle\sum_{j=1}^t\displaystyle\binom{j}{i}C_{t, j} = \displaystyle\sum_{j=1}^t\displaystyle\binom{j}{i}[(t - 1)(C_{t - 2, j - 1} + C_{t - 1, j})] = (t - 1)\displaystyle\sum_{j=1}^t\displaystyle\binom{j}{i}(C_{t - 2, j - 1} + C_{t - 1, j})$(將常量外移) $= (t - 1)\displaystyle\sum_{j=1}^t\displaystyle\binom{j}{i}C_{t - 2, j - 1} + (t - 1)\displaystyle\sum_{j=1}^t\displaystyle\binom{j}{i} C_{t - 1, j}$(拆括號) $= (t - 1)\displaystyle\sum_{j=1}^t(\displaystyle\binom{j - 1}{i} + \displaystyle\binom{j - 1}{i - 1})C_{t - 2, j - 1} + (t - 1)\displaystyle\sum_{j=1}^t\displaystyle\binom{j}{i} C_{t - 1, j}$(組合數遞推式逆用) $= (t - 1)\displaystyle\sum_{j=1}^t\displaystyle\binom{j - 1}{i}C_{t - 2, j - 1} + \displaystyle\binom{j - 1}{i - 1}C_{t - 2, j - 1} + (t - 1)\displaystyle\sum_{j=1}^t\displaystyle\binom{j}{i} C_{t - 1, j} = (t - 1)(P_{t - 2, i} + P_{t - 2, i - 1} + P_{t - 1, i})$
於是$O(nk + k^2)$預處理一下之後,對於每個$m$,$O(k)$求答案即可。