學習筆記 二項式反演

2022-02-02 07:36:07 字數 1340 閱讀 3310

\[f(n)=\sum _ ^n (-1)^i \binom n i g(i) \leftrightarrow g(n)=\sum _ ^n (-1)^i \binom n i f(i)

\]這個式子可以通過集合相關知識得到(容斥)

然後令:\(h(n)=(-1)^ng(n)\)

那麼有\[f(n)=\sum_^n \binom n i h(i) \leftrightarrow \frac=\sum_^n \binom n i f(i)

\]然後把式子整理一下,得到第二種表示二項式定理的形式

\[f(n)=\sum_^n \binom n i g(i) \leftrightarrow g(n)=\sum_^n \binom n i f(i)

\]直接帶入推導並且交換列舉順序可以得到:

\[f(n)=\sum_ ^n f(j)\sum _ ^n (-1)^ \binom n i \binom i j

\]後面的組合數:\(\binom n i \binom i j\) 考慮其組合意義,從 \(n\) 個裡面選 \(i\) 個再從 \(i\) 個裡面選 \(j\) 個用組合階乘式子能給推成\(\binom n j\binom \)

然後再改變列舉順序,平移一下迴圈變數

\[f(n)=\sum_ ^n \binom n j f(j) \sum _ ^ (-1)^t \binom t

\]在後面乘上 \(1\) 的對應次方,用二項式定理轉一步

\[f(n)=\sum_ ^n \binom n i f(i) (1-1)^

\]顯然得證(只有\(i=n\)時那個 \((1-1)^\) 不為 \(0\))

還有一種相對常見的式子,因為題目中大多會表述為恰好選幾個,然後我們用多步容斥(或二項式反演)就會方便求解

\[f(n)=\sum_^m \binom i n g(i)\leftrightarrow g(n)=\sum_^m (-1) ^ \binom i n f(i)

\]相關證明和上面的類似

我們設 \(g\) 為正確答案,\(f\) 為至少 \(k\) 個答案

設 \(dp_\) 為前 \(i\) 個選 \(j\) 個 \(a\) 中比 \(b\) 中大的

先看是不是要配對,不要那就是 \(f_+=f_\)

再看如果配對的話,那就是 \(f_=f_+(larger(i)-j+1)\)

\(larger(i)\) 表示 \(a_\) 大於幾個 \(b_i\),可以用暴力或者單調棧做掉……

\(f_x=dp_\times(n-x)!\)

這裡上個反演就做完了

\[g_i=\sum_^n (-1)^ \binom i k \times dp_\times (n-i)!

\]

學習筆記 二項式反演

二項式反演的常見形式有如下兩種 f n sum n binom ni g i longleftrightarrow g n sum n 1 binom ni f i f n sum m binom in g i longleftrightarrow g n sum m 1 binom in f i ...

二項式反演學習筆記

這是一篇防遺忘的二項式反演證明部落格 在此不給出精妙的容斥證明,開始推代數證明 眾所周知二項式反演有兩個形式 f n sum 1 binomg i leftrightarrow g n sum 1 binomf i 這個式子簡直妙啊 太對稱了 然而它更常用的形式是這個 f n sum binomg ...

二項式反演學習筆記

二項式反演似乎是個很有趣的東西 二項式反演似乎有很多條。第一條 最基本,最好記的一條 若序列 f 和 g 滿足 g n sum limits n 1 if i 那麼 f n sum limits n 1 ig i 反過來也成立。證明 公式恐懼症者可以跳過 第乙個式子代入第二個式子 f n sum l...