前幾天學了一下二項式反演的證明,咕了幾天後覺得還是發一篇部落格比較好。
二項式反演,就是這麼個式子:
\(f(n) = \sum _ ^ c_ ^ g(i) \leftrightarrow g(n) = \sum _ ^ (-1) ^ c_ ^ f(i)\)。
代數證明如下:
\[\begin
g(n)
&= \sum _ ^ (-1) ^ c_ ^ \sum _ ^ c_ ^ g(j) \\\
&= \sum _ ^ \sum _ ^ c_ ^ c_ ^ g(j)(-1) ^ \\
\end\]
其中\(c_ ^ c_ ^ = c_ ^ c _ ^ \),這個展開成階乘形式就會發現兩側相等。
\[\begin
g(n)
&= \sum _ ^ \sum _ ^ c_ ^ c_ ^ g(j) (-1) ^ \\
&= \sum _ ^ g(j)c_ ^ \sum _ ^ c_ ^ (-1) ^
\end
\]對於\(\sum _ ^ c_ ^ (-1) ^ \),當\(j = n\)時,該式子等於\(1\),否則等於\(0\)。當\(j = n\)時代入得證;當\(j \neq n\)時,後面的\(\sum\)就是楊輝三角第\(n - j\)行的偶數項之和減去奇數項之和(或者反過來),根據二項式定理可知,偶數項之和等於奇數項之和,那麼得證。
於是原式\(=g(n)\)。
二項式反演還有另一種形式,也比較常見:
\(f(k) = \sum _ ^ c_ ^ g(i) \leftrightarrow g(k) = \sum _ ^ (-1) ^ c_ ^ f(i)\)
證明方法類似:
\[\begin
g(k)
&= \sum _ ^ (-1) ^ c_ ^ \sum _ ^ c_ ^ g(j) \\
&= \sum _ ^ \sum _ ^ (-1) ^ c_ ^ c_ ^ g(j) \\
&= \sum _ ^ c_ ^ g(j) \sum _ ^ (-1) ^ c_ ^
\end\]
然後後面的式子也是只有當\(j = k\)時為\(1\),否則為\(0\)。
最後推一道例題:luogu p4859 已經沒有什麼好害怕的了
二項式反演的證明
我們都知道二項式的生成函式 f x 1 x n sum dbinomx k 當我們帶入 x 1 時,會得到這樣的式子 f 1 1 1 n sum dbinom 1 k 當 n 0 時,左邊的部分沒有意義。但右邊算出來恰好為 binom 1 因此我們得到了乙個恒等式 sum dbinom 1 n 0 ...
二項式反演
先從反演原理出發,假如存在兩個數列 f,g 我們知道 f n sum limits n a times g i 則 g n sum limits n b times f i 恆成立,那麼我們由 f 推出 g 的過程叫做反演。下面我們來 一下上面兩個式子恆成立的條件,將左邊帶入右邊,那麼有 begin...
二項式反演
形式與多步容斥相似,公式與多步容斥類似,多步容斥公式為 a 1 cup a 2 cup.cup a n sum limits a i sum limits n 1 ig i g n sum limits n 1 if i 顯然這兩個公式是等價,也是相互推導的關係,因此我們得到了二項式反演的形式1 形...