二項式反演的證明

2022-08-05 14:00:15 字數 1260 閱讀 7751

我們都知道二項式的生成函式:

\[ 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] = \epsilon(n + 1)

\]假設我們知道\(f(n) = \sum_^\binomg(k)\),那麼我們如何用\(f(k)\)來表示\(g(n)\)呢?

我們首先拼湊出一個二項式的形式:

\[ g(n) = \sum_^[n = m]g(m) = \sum_^\epsilon(n - m + 1)g(m)

\]然後代入上面那個恆等式:

\[ g(n) = \sum_^\sum_^(-1)^\dbinom\dbinomg(m)

\]根據組合的意義,不難得到:

\[ g(n) = \sum_^\sum_^(-1)^\dbinom\dbinomg(m)

\]接下來需要交換求和號。為了方便理解,我這裡令\(s_ = (-1)^\dbinom\dbinomg(m)\),那麼原式就變成了\(\sum_^\sum_^s_\)。

\[\begin

s_ & s_ & \cdots & s_ & s_\\

s_ & s_ & \cdots & s_\\

\vdots & \cdots & \vdots\\

s_ & s_\\

s_\end

\]顯然,之前的求法是一行一行,從左往右求和。我們同樣以一列一列,從上往下求和。因此:

\[ g(n) = \sum_^\sum_^(-1)^\dbinom\dbinomg(m)

\]提出和\(m\)無關的係數:

\[ g(n) = \sum_^(-1)^k \dbinom\sum_^\dbinomg(m)

\]注意到\(\sum_^\dbinomg(m)\)就是\(f(n-k)\)。因此:

\[ g(n) = \sum_^(-1)^k\dbinomf(n-k)

\]把它改寫成更加直觀的形式:

\[ g(n) = \sum_^(-1)^\dbinomf(k)

\]這就是二項式反演了。通過它,我們可以利用二項式求和推出不好計算的答案。

說到底,反演還是和容斥脫不了干係。

二項式反演

先從反演原理出發,假如存在兩個數列 f g ,我們知道 f n sum limits n a times g i ,則 g n sum limits n b times f i 恆成立,那麼我們由 f 推出 g 的過程叫做反演。下面我們來 一下上面兩個式子恆成立的條件,將左邊帶入右邊,那麼有 beg...

Learning 二項式反演

如果我們有一個這樣的式子 f n i 0n g i cni role presentation f n i 0ng i c inf n i 0n g i cni並且我們已經知道了 f role presentation style position relative f f,我們能否直接求出 g r...

不會 二項式反演

照例只是有對lnc的話的復讀 對kx的話的復讀 有關於組合數奇加偶減的一個結論 sum limits n 1 i c n i n 0 可以通...