1. 程式人生 > 其它 >單機多卡、多機多卡的藝術

單機多卡、多機多卡的藝術

二項式係數

定義

首先定義階乘:

對於任意\(n\in\mathbb{N}\),定義\(n\)的階乘\(n!=n(n-1)……1=\prod_{i=1}^n i\)
再來定義二項式係數(組合數)

我們用符號\(n\choose k\)表示二項式係數,其中\(n\)為上標,\(k\)為下標。

  1. 數學定義:
\[\left\{ \begin{aligned} {n\choose k}&=\frac{n!}{k!(n-k)!}& (n\in \mathbb{N},k\in \mathbb{N})\\ {n\choose k}&=0& (k\in \mathbb{Z},k>n) \\ {n\choose k}&=0& (k\in \mathbb{Z},k<0) \\ \end{aligned} \right. \]

簡單來說,即為二項式係數的上標為自然數,而二項式係數的下標為小於等於上標的整數,當下標小於零時,式值為零

  1. 組合定義:
    二項式係數\(n\choose k\)表示從\(n\)個不同物品中選出恰好\(k\)個的方案數。\(n,k\in \mathbb{N}\)

證明:首先從\(n\)個數選出\(1\)個,有\(n\)種方法,再選第二個,有\(n-1\)種方法,以此類推,則有\(\prod_{i=n-k+1}^n i=\frac{n!}{(n-k)!}\)

然後再由於我們需要去重,一個長度為\(k\)的序列有\(k!\)種排列,故有\(\frac{n!}{k!(n-k)!}\)種可能,得證。

二項式定理

\[(x+y)^n=\sum_{k=0}^n{n\choose k}x^ky^{n-k} \]

證明

從二項式拆解的角度來說:

首先來證明,\((x+y)^n\)中每一項的指數和都為\(n\),在每一次多乘上一個\((x+y)\)時,會將每一項的指數都加一,而最初的一次方的係數為1,故得證。

再來證明係數為二項式係數。我們設\((x+y)^n=\sum_{k=0}^n f(n,k)x^ky^{n-k}\)。這裡由於加法的交換律,\(x,y\)具有對稱性,故\(f(n)\)同樣具有對稱性。

此時再來看\((x+y)^{n+1}=(x+y)^n(x+y)\),就有:

\[(x+y)^{n+1}=\sum_{k=0}^{n+1}f(n+1,k)x^ky^{n-k+1}=x\sum_{k=0}^n f(n,k)x^ky^{n-k}+y\sum_{k=0}^n f(n,k)x^ky^{n-k} \]

簡單平移一下求和下標,就有:

\[\sum_{k=0}^{n+1}f(n+1,k)x^ky^{n-k+1}=\sum_{k=0}^n \left(f(n,k-1)+f(n,k)\right)x^ky^{n-k+1} \]

由於係數一一對應,故有\(f(n+1,k)=f(n,k)+f(n,k-1),f(i,0)=f(i,i)=1(i\in \mathbb{N^+})\)

我們再來看另一個關於二項式係數的式子:

\[{n+1\choose k}={n\choose k}+{n\choose k-1} \]

對於這一步,證明方法也比較多,這裡介紹組合意義的證明方法,也有根據定義的簡單代數證明。

左式的組合意義是在\(n+1\)個不同物品中選出\(k\)個,這等價於不選擇第一個,在後面的\(n\)的中選出\(k\)個,與選出第一個,在後面的\(n\)個選出\(k-1\)個的方案數之和,即右式的組合意義,故得證。

而容易發現,二項式係數也具備此性質:\({n\choose n}={n\choose 0}=1\)

故二者遞推式等價,初始值等價,也即二者相等。

這樣引申一個東西:

加法公式推論

推論1:上指標求和公式

考慮將加法公式這樣寫:

\[{n\choose k}={n-1\choose k}+{n-1\choose k-1}={n-1\choose k-1}+{n-2\choose k-1}+{n-2\choose k} \]

繼續這樣化簡,化簡到最後應該是這樣的

\[{n\choose k}={n-1\choose k-1}+{n-2\choose k-1}+{n-3\choose k-1}……{0\choose k-1}+{0\choose k} \]

因為當上指標小於下指標時,二項式係數值為\(0\),所以可以看作:

\[{n\choose k}=\sum_{i=0}^{n-1}{i\choose k-1}=\sum_{i=k-1}^{n-1}{i\choose k-1} \]

當然,我們平時用得更多的是另一個寫法:

\(\sum_{i=0}^{n}{i\choose k}={n+1\choose k+1}\)

它的名字是:上指標求和公式

推論2:平行求和公式

第一個推論我們拆開了前半個式子,這次我們考慮拆開後半個式子

按部就班的化簡,有:

\[{n\choose k}={n-1\choose k}+{n-2\choose k-1}+{n-3\choose k-2}+……+{n-k-1\choose k-k}+{n-k-1\choose k-k-1} \]

故換一種寫法得到:\({n\choose k}=\sum_{i=0}^k{n-k+i-1\choose i}\)

注意到,此時\(n,n-k-1\)都是定值,不妨設\(m=n-k-1,n=m+k+1\),就得到:

\[{m+k+1\choose k}=\sum_{i=0}^k{m+i\choose i} \]

它的名字是:平行求和公式

得名的原因是就像0與m+1平移了了k個位置

現在,言歸正傳,回到二項式定理的變形

常見變形

特殊情況

這些變形很常用哦

\((1+x)^n=\sum_{k=0}^n{n\choose k}x^k\)

這個式子的威力在於:令\(x=1\),就能馬上得到:\(2^n=\sum_{k=0}^n{n\choose k}\)

這個式子其實有一個組合證明:對於0到\(n\)都選,等價於每個東西可選可不選。
\((1-x)^n=\sum_{k=0}^n(-1)^k{n\choose k}x^k\)

這個式子也非常厲害,具體在於:令\(x=1\),就得到:

\[\sum_{k=0}^{2k+1\le n}{n\choose 2k+1}-\sum_{k=0}^{2k\le n}{n\choose 2k}=0 \]

換句話說即為下指標為偶數的二項式係數之和等於下指標為奇數的二項式係數之和。

這裡還有一個引申結論:也即因為左邊二式值和為\(2^n\),故有:

\[\sum_{k=0}^{2k+1\le n}{n\choose 2k+1}=\sum_{k=0}^{2k\le n}{n\choose 2k}=2^{n-1} \]

事實上,這個式子還有另一種證明方法,也即將\(2^{n-1}\)寫作\(\sum_{k=0}^{n-1}{n-1\choose k}\),然後減過去,逆用加法公式即可得到另一個式子。

範德蒙德卷積

下面,我們要來一個激動人心的事情了!

考慮\((1+x)^r=\sum_{i=0}^r{r\choose i}x^i,(l+x)^s=\sum_{k=0}^s{s\choose k}x^k\)

所以:

\[(1+x)^{r+s}=\sum_{i=0}^{r+s}{r+s\choose i}x^i=\left(\sum_{i=0}^r{r\choose i}x^i\right)·\sum_{k=0}^s{s\choose k}x^k \]

對於右式,改動一下求和下標,變成:

\[\sum_{k=0}^{r+s}\left(\sum_{i=0}^{k}{r\choose i}·{s\choose k-i}\right)x^k \]

明顯\(x\)的每一項係數相等,這就有:

\[\sum_{i=0}^{k}{r\choose i}·{s\choose k-i}={r+s\choose k} \]

這即為著名的範德蒙德卷積,一個非常常用的恆等式。

多項式定理

首先來定義多項式係數:

\[{n\choose n_1,n_2……n_t}=\frac{n!}{\prod_{k=1}^tn_k!} \]

其中:\(\sum_{k=1}^tn_k=n,\forall i\in[1,t],n_i\ge 0\)

當然,多項式係數也具備一個性質:

\[{n\choose n_1,n_2……n_t}=\sum_{k=1}^t{n-1\choose n_1,…,n_k-1,n_{k+1},…n_t} \]

這裡,事實上,每一個多項式係數都可以寫作若干個二項式係數的乘積,這主要是由一個恆等式:

\({n\choose m}{m\choose k}={n\choose k}{n-k\choose m-k}\)得出的

我們這樣考慮多項式定理的推導

\((x_1+x_2+…+x_t)^n\)連續運用\(t-1\)次二項式定理,最終項\(x_1^{n_1}x_2^{n_2}…x_t^{n_t}\)的係數為

\({n\choose n_1}{n-n_1\choose n_2}{n-n_1-n_2\choose n_3}…{n-\sum_{k=1}^{t-1}n_k\choose n_t}\)

對於這個式子,用二項式係數的展開式,最後會化簡出\(\frac{n!}{\prod_{k=1}^tn_k!}\),也即\(n\choose n_1,n_2,…,n_t\)

故多項式定理為:

\[\left(\sum_{k=1}^tx_k\right)^n=\sum{n\choose n_1,n_2,…,n_t}x_1^{n_1}x_2^{n_2}…x_t^{n_t} \]

二項式恆等式

有一說一,常用的恆等式在之前已經有說過,這裡再次將其列出:

Name Place
定義式 \({n\choose k}=\frac{n!}{k!(n-k)!}\) 開頭
對稱式 \({n\choose k}={n\choose n-k}\) 定義式推論
吸收式 \({n\choose k}=\frac{n}{k}{n-1\choose k-1}\) 定義式 推論
加法式 \({n\choose k}={n-1\choose k}+{n-1\choose k-1}\) 二項式定理證明處
三項式恆等式 \({n\choose k}{k\choose m}={n\choose m}{n-m\choose k-m}\) 多項式定理處
上指標求和公式 \({n+1\choose k+1}=\sum_{i=0}^{n}{i\choose k}\) 加法式推論
平行求和公式 \(\sum_{i=0}^k{m+i\choose i}={m+k+1\choose k}\) 加法式推論
二項式定理 \((x+y)^n=\sum_{k=0}^n{n\choose k}x^ky^{n-k}\) 二項式定理
範德蒙德卷積 \(\sum_{i=0}^{k}{r\choose i}·{s\choose k-i}={r+s\choose k}\) 二項式定理推論

二項式反演

三個形式

形式1

\[g(n)=\sum_{i=0}^n(-1)^i{n\choose i}f(i)\Longleftrightarrow f(n)=\sum_{i=0}^n(-1)^i{n\choose i}g(i) \]

對於此式的證明,可以考慮高階差分,應用也主要是體現在函式的差分上

具體應用