「反演」學習筆記

「反演」學習筆記

小聲bb:原本看skyh推的博客,是來學容斥的,莫名其妙被強塞了反演html

概念

好多童鞋還不知道啥是反演,反正聽起來挺牛逼的,誰會誰被膜函數

好比說有兩個未知量 \(x,y\),咱們用 \(x\) 表達出來了 \(y\),好比一個一次函數:學習

\[y=kx+b \]

那麼咱們用 \(y\) 表示 \(x\) 就是:spa

\[x=\frac{y-b}{k} \]

\(emmmm\),這差很少就是個反演。htm

而後咱們就搞高級一點:blog

假設有兩個函數 \(f\)\(g\) 知足:字符串

\[f[n] = \sum_{k}a_{n,k}\times g[k] \]

已知 \(f\)\(g\) 的過程就叫作「反演」。get

二項式反演

例題

\(n\) 個小盆友,每一個人有一個編號 \(1,2...,n\)博客

將這 \(n\) 個小盆友排成一列,編號爲 \(i\) 的小盆友不能在第 \(i\) 個位置。數學

求出所能排隊的方案數,\(n\leq 10^5\)

簡單容斥(據說小學生都會??)

  • 假設 \(n=3\)

咱們拿出高一老師(??)常拿的韋恩圖像:

定義:

\(A\) 集合:編號爲 \(1\) 的小盆友站到 \(1\) 的方案數。

\(B\) 集合:編號爲 \(2\) 的小盆友站到 \(2\) 的方案數。

\(C\) 集合:編號爲 \(3\) 的小盆友站到 \(3\) 的方案數。

咱們要求的就是 \(n! - |A\cup B\cup C|\),用簡單的容斥可得:

\(ans=n! - (|A|+|B|+|C|-|A\cap B|-|B\cap C|-|A\cap C|+ |A\cap B\cap C|)\)

得出公式

咱們能夠大膽猜測:

\[ans = \sum_{k=0}^{n}(-1)^k\times \binom{n}{k}\times (n - k)!\;(假設 0!=1) \]

  • 什麼意思?

\(\binom{n}{k}\times (n - k)!\) 表示強硬的將 \(k\) 我的放到本身應該放的位置(\(i\) 放到第 \(i\) 個位置),剩下 \(n-k\) 我的隨便放的方案數。

  • 爲啥要加一個 \((-1)^k\)

好比說你加上了一個 \(k=2\) 的方案數,強硬地將 \(2\) 我的,後面咱們統計 \(k=3\) 時,咱們會發現:在前面 \(k=2\) 時,可能有某個小盆友被放到了本身應該放的位置,因此要

減去這些被多餘統計的方案,加法同理。

新定義

定義 \(f[n]\) 表示 \(n\) 我的隨便站的方案數。

定義 \(g[n]\) 表示 \(n\) 我的都不站在本身應該在的位置的方案數。

這樣咱們直接枚舉有多少我的站錯位置,即可求出 \(f[n]\)

\[f[n]=\sum_{k=0}^{n}\times \binom{n}{k}\times g[k] \]

可是咱們會發現,咱們能夠直接用 \(f[n] = n!\) 求出 \(f[n]\),並且咱們還不會求出 \(g[n]\),難受~~~

小鑰匙

咱們會發現以前解決那個例題的公式中有一個這個東東:

\[\sum_{k=0}^{n}(-1)^k\times \binom{n}{k} \]

易得:這個東東只有 \(n=0\) 時才爲 \(1\),不然即爲 \(0\)

  • 咱們再引進一個神犇數學符號:\([P]\),表示條件 \(P\) 符合時,爲 \(1\);不然即爲 \(0\),(好像一個 \(bool\))。

因此上面那個東東就能夠化爲:

\[\sum_{k=0}^{n}(-1)^k\times \binom{n}{k}=[n=0] \]

反演

以前咱們新定義裏:

\(g[n]\) 表示出了 \(f[n]\),然而咱們並不知道 \(g[n]\),反而知道 \(f[n]\),咱們就須要一些騷操做(繁衍呸,反演),來求出 \(g[n]\)

說一句廢話:

\[g[n] = \sum_{m=0}^{n}[n=m]\times \binom{n}{m}\times g[m] \]

改一下這個廢話:

\[g[n] = \sum_{m=0}^{m}[n-m=0]\times \binom{n}{m}\times g[m] \]

哦!!!中間那個條件,咱們是否是能夠用一下那個小鑰匙?

\[g[n] = \sum_{m=0}^{n} \sum_{k=0}^{n-m}(-1)^k\times \binom{n-m}{k}\times \binom{n}{m}\times g[m] \]

看一看中間那兩個噁心的組合數:

能夠考慮爲從 \(n\) 個物品裏,先選 \(m\) 個,再從 \(n-m\) 個裏選 \(k\) 個的方案數。

能夠變爲爲從 \(n\) 個物品裏,先選 \(k\) 個,再從 \(n-k\) 個裏選 \(m\) 個的方案數,組合數能夠變爲: \(\binom{n-k}{m}\times \binom{n}{k}\)

原式變爲:

\[g[n] = \sum_{m=0}^{n} \sum_{k=0}^{n-m}(-1)^k\times \binom{n-k}{m}\times \binom{n}{k}\times g[m] \]

交換一下:

\[g[n] = \sum_{m=0}^{n} \sum_{k=0}^{n-m}(-1)^k\times \binom{n-k}{m}\times g[m] \times \binom{n}{k} \]

而後將 \(m\)\(k\) 交換一下:

\[g[n] = \sum_{k=0}^{n} \sum_{m=0}^{n-k}(-1)^k\times \binom{n-k}{m}\times g[m] \times \binom{n}{k} \]

再次交換:

\[g[n] = \sum_{k=0}^{n} (-1)^k\times \binom{n}{k} \sum_{m=0}^{n-k} \binom{n-k}{m}\times g[m] \]

誒!!後面那個東東就是 \(f[n - k]\),可,咱們成功了!!!

\[g[n] = \sum_{k=0}^{n} (-1)^k\times \binom{n}{k} \times f[n-k] \]

\(emmmm\),好醜,寫好看一點:

\[g[n] = \sum_{k=0}^{n} (-1)^{n-k}\times \binom{n}{k} \times f[k] \]

得出結果

\[f[n]=\sum_{k=0}^{n}\times \binom{n}{k}\times g[k] \]

\[g[n] = \sum_{k=0}^{n} (-1)^{n-k}\times \binom{n}{k} \times f[k] \]

這個好像就是二項式反演

可能與 \(A\) 層的巨佬們學的有點不一樣,有錯誤,請見諒我這個蒟蒻。

莫比烏斯反演

例題

小盆友學英語,他拿到 \(26\) 個小寫字母,他拼出若干個長度爲 \(n\) 的字符串,求出有多少個字符串的循環節剛好爲 \(n\)\(n\leq 10^9\)

連小盆友都知道循環節是啥,不用我說吧....(最短的一個子串複製若干遍後拼起來跟原串相等的字符串)。

新定義

定義 \(f[n]\) 表示長度爲 \(n\) 的字符串的個數,顯然是 \(26^n\)

定義 \(g[n]\) 表示長度爲 \(n\) 且循環節長度爲 \(n\) 的字符串的個數。

能夠得出:

\[f[n] = \sum_{d|n}g[d] \]

小鑰匙

上次咱們用了一個條件表達式,打開了反演的關鍵,這個咱們一樣搞一個:

定義一個 \(\mu[n]\) 知足:(莫某某某搞的)

\[\sum_{d|n}\mu[d] = [n=1] \]

其實這個就是莫比烏斯函數,至於性質,能夠看一眼龍蝶的

反演

一樣,咱們說一句廢話:

\[g[n] = \sum_{m|n}[n=m]\times g[m] \]

將條件表達式變一下:

\[g[n] = \sum_{m|n}[\frac{n}{m}=1]\times g[m] \]

好,用咱們的小鑰匙:

\[g[n] = \sum_{m|n}\sum_{d|\frac{n}{m}}\times \mu[d] \times g[m] \]

上次咱們將 \(m\)\(k\) 進行了交換,此次怎麼處理呢?

咱們會發現 \(n\) 能將 \(m\) 整除,\(\frac{n}{m}\) 能將 \(d\) 整除,因此咱們能夠得出 \(n\) 既能將 \(m\) 整除,又能將 \(d\) 整除,這樣咱們就能夠將 \(m\)\(k\) 交換了。

\[g[n] = \sum_{d|n}\sum_{m|\frac{n}{d}}\times \mu[d] \times g[m] \]

交換一下:

\[g[n] = \sum_{d|n} \times \mu[d]\sum_{m|\frac{n}{d}} \times g[m] \]

不錯,後面那個東東又能夠化爲咱們的 \(f\),可

\[g[n] = \sum_{d|n} \times \mu[d]\times f[\frac{n}{d}] \]

得出結果

\[f[n] = \sum_{d|n}g[d] \]

\[g[n] = \sum_{d|n} \times \mu[d]\times f[\frac{n}{d}] \]

這個好像就是莫比烏斯反演

其餘反演敬請期待

相關文章
相關標籤/搜索