總結 容斥原理與反演

2022-02-23 20:38:12 字數 2533 閱讀 4825

這個是個好東西...實際上,容斥和反演沒有什麼區別。

目錄【題解】cf997c sky full of stars

【題解】cf451e devu and flowers(容斥)

【題解】cjoi2019 登峰造雞境 (prufer序列+斯特林數)

【題解】cf559c c. gerald and giant chess(容斥+格路問題)

【總結】組合模型及其組合意義的闡釋

【題解】分特產(組合數+容斥)

【題解】counting d-sets(容斥+尤拉定理)

【題解】codeforces 961g partitions

【題解】haoi2018]染色(ntt+容斥/二項式反演)

【題解】bzoj5093圖的價值(二項式+ntt)

這裡直接用式子說明關係,想進一步了解去看組合數學\((u=\)\)

\[|\bigcup_ a|=\sum_ (-1)^|\bigcap_ a|

\]著名的奇加偶減。

不是很好用

設\[f(x)=\sum_ |\bigcap_a |

\]假如\(\forall |u|=x\)

\[|\bigcap_a |=g(x)

\]那麼有

\[g(x)=\sum_^ (-1)^ f(i)

\]寫在一起

\[f(x)=\sum_^ g(i) \leftrightarrow g(x)=\sum_^ (-1)^ f(i)

\]著名的二項式反演。證明方法可以直接帶進去。下面給出另乙個證明

怎麼發現這個公式?實際上是對於每個元素單獨分析存在的方式,我抄一下我之前寫過的證明

由於對於每個有\(u\)種顏色出現\(s\)的方案,有三種狀態:

\[n^k=\sum_^}i!

\]直接帶入斯特林數的容斥式子顯然是可以證明的,但這裡我給出乙個很有意思的證明

\[n^k=_})}^k=\underbrace_}\underbrace _} \dots\underbrace _}}_}

\]所有的"\(1\)"都是有區別的。現在問題就變成了存在多少種方案把所有從左往右\(1\)乘出來,方案總數就是\(n^k\)

假設有乙個小人從左邊走到右邊,每經過乙個括號就撿起來乙個1,括號裡的1是不同的,問這個小人有多少種撿1的方式?

我們把他所有最後撿起來的1分類,假如說它第一次選擇了第乙個1,第二次選擇第三個1,第三次選擇了第五個一,我們記錄成數列\(135\)

顯然小人撿出來的序列的形式是這樣的

\[\underbrace_}

\]再把這樣的序列分類,可以分為\(\min \\)類,分類的標準是,出現了幾個不同的數。就比如序列 \(1 \quad 1 \quad 233\)中就有兩個不同的數。假設我這個序列是類別\(i\),那麼這個類別內總共有\(n \choose i\)種數的出現情況。為什麼對\(k\)取\(\min\),因為我序列總共都只有\(k\)那麼長...

然後我現在有\(k\)個位置,要讓這\(k\)個位置都是我選出來的數共\(i\)種,並且每個數都要出現。

斯特林數\(k \brace i\)就表示\(k\)個不同元素劃分為\(i\)個非空集合的方案數,集合沒有區別。然而我這裡的"集合"顯然是有區別的,所以要用\(i!\)補回來。

所以類別\(i\)總共有

\[i!

\]個不同方案,然而我總共會有\(\min \\)類,而且不會有型別\(0\)的存在,所以

\[n^k=\sum_^}i!

\]所以這個東西有什麼用?直接用途是bzoj5093圖的價值和cf932eteam work ,其實用途就是把指數變成組合數,還是乙個上定下變的組合數,變的還是從\(1\)到\(n\)的,可以運用備胎模型產生奇妙的化簡,然後用二項式定理。還有就是這個式子列舉的邊界是\(\min \\)不可能哪個題目毒瘤到\(n=1e9,k=1e9+7\)吧...

可能最常見的定義式是這樣的:

\[(2)f(x)=\sum_f(d) \leftrightarrow f(x)=\sum_\mu(d)f(x/d)

\\or

\\(3)f(x)=\sum_f(d) \leftrightarrow f(x)=\sum_\mu(d/x)f(d)

\]一般來說,容斥用上面那個,數論用下面這個比較方便。

\[(1)\sum_\mu(d)=[n=1]

\]假如乙個式子裡有乘積+約數或者什麼什麼+布林值,那就套一下這個公式。

這個式子如何證明:

那麼我們承認\((1)\)是我們的定義,證明\((2)(3)\)。

都是我自己證的,相信一定比較好理解

\((1)->(3)\)

總結一下我們的證明思路,或者說如何感性理解它 :

我們知道\(\sum_\mu(d)=[n=1]\),這是乙個很強的性質,我們把函式\(f(x)\)乘在\(\mu\)的後面,這樣我們函式sum起來就和\(\mu\)有關了,所以我們要令\(n=\frac x m\)使得當\(x=m\)時才有值,這樣最後等式只剩下\(f(m)\)了,也達到了我們反演的目的。

考慮這樣的等價寫法就是考慮兩個等式最終加起來的式子是否不重不漏,理論依據是加法交換律和乘法分配律...

容斥與反演總結

容斥和反演就是乙個東西。a 1 a2 an i 1n 1 n i t i,t a x1 a x2 a xi 直接列舉所有子集計算。例題 bzoj4455 坑待填。就是有兩個式子。gn i 0nan ifi fn i 0 nbn,igi 把下式帶入上式 gn i 0nan i j 0ib i,jg j...

容斥原理,反演

大概知道為什麼自己水平比較渣啦。一開始只會反演,然後被容斥驚豔到。然後寫了一段時間容斥,反演忘光光。所以融會貫通真的很難。多校的三道題,當時是用反演做的。事實上以前就知道容斥跟莫比烏斯函式值的關係,然後熟練掌握 然後一段時間沒用就忘了哈。簡單來說就是,求乙個數和乙個集合中的數互質的個數,把集合中乙個...

容斥原理及廣義容斥(二項式反演)

就是這麼乙個公式 因為本人太弱,不會嚴謹的數學證明,感性理解一下就是把那些重複的元素去掉就行了。容斥的套路挺多的,還是要多做題。貌似也叫二項式反演,總共有3種形式,但常用的只有兩種 1.若 f n sum limits binomg i 那麼 g n sum limits 1 binomf i 具體...