(數論十三)二項式反演

2021-08-29 20:47:35 字數 870 閱讀 1065

一.引出反演

​ 對於公式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 形...