min-max容斥學習筆記


min-max容斥學習筆記

  • 前置知識

    二項式反演

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

  • 一些定義

    \(\max (S),\min (S)\)表示分別集合\(S\)的最大,最小元素

  • 套路式子

    \[\max(S)=\sum_{\varnothing\not=S\subseteq T}(-1)^{|T|-1}\min(T) \]

  • 證明

    首先我們先設一個容斥系數\(f(x)\)

    \[\max(S)=\sum_{\varnothing\not=S\subseteq T}f(|T|)\min(T) \]

    設集合\(S\)\(n\)個元素,我們討論第\(k\)小元素的貢獻

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

    就是當這個元素成為最小值時另外再選幾個比它要大的元素的方案,如果這個元素不是最大元素,要求不貢獻

    \[F(n)=f(n+1),G(n)=[n=0] \]

    上式為

    \[G(n)=\sum_{i=0}^n\binom{n}{i}F(i) \]

    由二項式反演

    \[F(n)=\sum_{i=0}^n(-1)^{n-i}\binom{n}{i}G(i) \]

    代回去

    \[\begin{aligned} f(n+1)&=\sum_{i=0}^n(-1)^{n-i}\binom{n}{i}[i=0]\\ &=(-1)^n\\ f(n)&=(-1)^{n-1} \end{aligned} \]

    所以有

    \[\max(S)=\sum_{\varnothing\not=S\subseteq T}(-1)^{|T|-1}\min(T) \]

  • 用處

    在期望意義下,這個式子依然成立,即

    \[E(\max(S))=\sum_{\varnothing\not=S\subseteq T}(-1)^{|T|-1}E(\min(T)) \]

    下面給幾個例題

  • 例題

    • HDU4336

      題意:有\(n\)個卡牌,每秒有\(p_i\)的概率抽到卡牌\(i\),求至少得到每個卡牌至少一張的期望時間

      min-max容斥有個套路思想就是化max為min,因為min一般比較好統計

      \(\max (S)\)表示集合\(S\)中最后一個獲得元素的期望時間,\(\min (S)\)代表集合\(S\)中第一個獲得元素的期望時間

      那么有上面的套路式子

      \[\max(S)=\sum_{\varnothing\not=S\subseteq T}(-1)^{|T|-1}\min(T) \]

      \(\min (T)\)就非常好求了

      \[\min(T)=\frac{1}{\sum_{i\in T}p_i} \]

      就是先把總概率算一下的事情

    • 「HAOI2015」按位或

      題意:初始有一個數\(0\),每秒有\(p_i\)的概率或(|)上整數\(i(i\in [0,2^n))\),求期望多少秒后數組變成\(2^n-1\)

      \(\max(S)\)表示最后一個或上去的期望時間,\(\min(S)\)同理

      式子隨便套,考慮求出\(\min(T)\)

      \[\min(T)=\frac{1}{\sum_{S\cap T\not=\varnothing}p_S} \]

      考慮求底下的東西

      \[\begin{aligned} \sum_{S\cap T\not=\varnothing}p_S&=\sum_{S\subseteq U} p_S-\sum_{S\cap T=\varnothing}p_S\\ &=\sum_{S\subseteq U}p_S-\sum_{\overline S\cup T=\overline S}p_S \end{aligned} \]

      后面的東西取補集后是子集和的形式,我們可以\(FWT\)或者\(FMT\)\(2^nn\)內求出

    • 「PKUWC2018」隨機游走

      題意:樹上隨機游走,給定起點,每次詢問至少走過一次點集的期望時間

      直接套路上去考慮如何求\(\min (T)\),即第一次到達給定點集的期望步數

      \(dp_u\)表示\(u\)走到給定點集\(S\)的期望步數,\(d_u\)\(u\)點度數

      \(u\in S,dp_u=0\)

      否則

      \[\begin{aligned} dp_u&=\frac{dp_{fa}}{d_u}+\frac{\sum dp_v}{d_u}+1\\ &=A_udp_{fa}+B_u \end{aligned} \]

      就先把環狀的轉移和其他的分開搞一下,那么

      \[dp_u=\frac{dp_{fa}}{d_u}+\frac{\sum A_vdp_u+B_v}{d_u}+1 \]

      化簡一下

      \[(1-\frac{\sum A_v}{d_u})dp_u=\frac{dp_{fa}}{d_u}+\frac{\sum B_v}{d_u}+1 \]

      把左邊除過去就可以了

      這樣的話我們可以\(n2^n\log 998244353\)處理出每個集合的\(\min(S)\)了,仍然可以預處理子集和

  • kthmax-min容斥

    \[kthmax(S)=\sum_{\varnothing\not=T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}\min(T) \]

    \(kthmax(S)\)表示集合中第\(k\)大的元素

    證明起來和普通的差不多

    設一個容斥系數\(f(n)\),統計\(n\)個元素中第\(x\)小的貢獻

    \[\sum_{i=0}^{n-x}\binom{n-i}{i}f(i+1)=[n-x+1=k]\\ \sum_{i=0}^n\binom{n}{i}f(i+1)=[n=k-1]\\ f(n+1)=\sum_{i=0}^n(-1)^{n-i}\binom{n}{i}[i=k-1]\\ f(n)=(-1)^{n-k}\binom{n-1}{k-1} \]

  • 參考資料

    【Learning】min-max容斥以及推廣kth min-max容斥

    min-max容斥


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM