一.引出反演
對於公式f(n) = g(1) + g(2) + … + g(n),我們只要已知g(x)的函式方程,就可以得到任意的f(n)。但是已知f(x)的函式方程,我們能得到任意的g(n)嗎?
這時候,我們就需要用到反演定理了。利用反演定理,我們就可以通過f(x)求任意的g(n)了
二.反演定理:
對於不同的的用法,c,d是不同的,至於推導。。。我是不會,orz~ 關於常用的反演,數學家們已經推倒出來c函式和d函式,我們直接記住用就可以了。
我們常見的反演有二項式反演,斯特林反演,莫比烏斯反演和最值反演,接下來說一下二項式反演。
三.二項式反演:
其中(上:n 下:i)代表c(n, i)
四.例題:
比如,n封信全部裝錯的方案數?
當然啦,有個錯排公式能o(n)的的推出來,我們還是先看一下二項式反演的做法:
我們設g(i)代表i封信全部裝錯的方案數
那麼∑ c(n, i)✖️g(i)正好是全部的裝信情況,也就是n!
因此,f(n) = n! = ∑ c(n, i)✖️g(i)
我們根據二項式反演公式得g(n) = ∑ (-1)^(n - i)✖️c(n, i)✖️f(i)
因此我們只需要累加i從0~n的 (-1)^(n - i)✖️c(n, i)✖️(i)!的和,即為正確答案~
如果有寫的不對或者不全面的地方 可通過主頁的****進行指正,謝謝
數論 二項式反演
若能湊出其中乙個式子,則能反演出另外乙個式子 應用 hdu 1465 設g i 表示正好有i封信裝錯信封 那麼全部的c n,i g i 加起來正好就是所有裝信的情況,總共n 全排列 種情況 即 1 include2 include3 using namespace std 4 typedef lon...
二項式反演
先從反演原理出發,假如存在兩個數列 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 形...