Min-Max 容斥學習筆記

DycIsMyName發表於2024-08-01

\(\text{Min-Max}\) 容斥學習筆記

概念

\(\text{Min-Max}\) 容斥,又稱最值反演,是一種對於特定集合,在已知最小值或最大值中一者的情況下,求另一種的演算法。首先觀察幾個式子:

\[\max(a)=a\\ \max(a,b)=a+b-\min(a,b)\\ \max(a,b,c)=a+b+c-\min(a,b)-\min(b,c)-\min(a,c)+\min(a,b,c) \]

顯然對所有數取相反數,易知用最大值求最小值的公式與用最小值求最大值的公式形式相同,故以下只探討用最小值求最大值。透過觀察可以寫出以下式子

\[\text{Max}(S)=\sum_{T\subset S,T\ne \varnothing}(-1)^{|T|-1}\text{Min}(T) \]

其中 \(\text{Max}(S)\) 表示集合 \(S\) 中元素的最大值,\(\text{Min}(S)\) 表示集合 \(S\) 中元素的最小值。

證明

設存在一個以集合大小為自變數的函式 \(f\) 滿足 \(\text{Max}(S)=\sum_{T\subset S,T\ne\varnothing}f(|T|)\text{Min}(T)\),並記 \(S\) 中元素從大到小排列為 \(x_1,x_2,\cdots,x_m\),則對於 \(x_i\),其在左側的貢獻次數為 \([i=1]\),在右側的貢獻次數為 \(\sum_{j=0}^{i-1}{i-1\choose j}f(j+1)\)。若等式成立,則必有

\[[i=1]=\sum_{j=0}^{i-1}{i-1\choose j}f(j+1) \]

\(F(i)=[i+1=1],G(i)=f(i+1)\),則

\[F(i)=\sum_{j=0}^{i}{i\choose j}G(j) \]

對這個式子進行二項式反演,得到

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

所以 \(f(i)=G(i-1)=(-1)^{i-1}\),於是有

\[\text{Max}(S)=\sum_{T\subset S,T\ne \varnothing}(-1)^{|T|-1}\text{Min}(T) \]

擴充

\(k\text{Max}(S)\) 表示集合 \(S\)\(k\) 大值,則

\[k\text{Max}(S)=\sum_{T\sub S,|T|\ge k}(-1)^{|T|-k}{|T|-1\choose k-1}\text{Min}(T) \]

證明

設存在一個以集合大小為自變數的函式 \(g\) 滿足 \(k\text{Max}(S)=\sum_{T\sub S,T\ne\varnothing}g(|T|)\text{Min}(T)\),並記 \(S\) 中元素從大到小排列為 \(x_1,x_2,\cdots,x_m\),則對於 \(x_i\),其在左側的貢獻次數為 \([i=k]\),在右側的貢獻次數為 \(\sum_{j=0}^{i-1}{i-1\choose j}g(j+1)\),若等式成立,則必有

\[[i=k]=\sum_{j=0}^{i-1}{i-1\choose j}g(j+1) \]

\(F(i)=[i+1=k],G(i)=g(i+1)\),則

\[F(i)=\sum_{j=0}^{i}{i\choose j}G(i) \]

進行二項式反演可得

\[G(i)=\sum_{j=0}^{i}(-1)^{i-j}{i\choose j}F(j)=(-1)^{i-k+1}{i\choose k-1} \]

\(g(i)=G(i-1)=(-1)^{i-k}{i-1\choose k-1}\),於是有

\[k\text{Max}(S)=\sum_{T\sub S,|T|\ge k}(-1)^{|T|-k}{|T|-1\choose k-1}\text{Min}(T) \]

應用

\(\text{Min-Max}\) 容斥常見於期望問題,具體表現為所有元素均出現的期望時間。記 \(t_i\) 表示第 \(i\) 個元素的出現時間,則 \(\text{Max}(S)\) 表示所有元素出現時間的最大值,即所有元素都出現的時間,而 \(\text{Min}(S)\) 表示所有元素出現時間的最小值,即至少一個元素出現的時間。根據 \(\text{Min-Max}\) 容斥,有

\[\text{Max}(S)=\sum_{T\sub S,T\ne\varnothing}(-1)^{|T|-1}\text{Min}(T) \]

對左右兩邊同時取期望,因為期望是線性的,所有可以放到求和裡,即

\[E(\text{Max}(S))=\sum_{T\sub S,T\ne\varnothing}(-1)^{|T|-1}E(\text{Min}(T)) \]

容易發現 \(E(\text{Min}(T))\) 是好求的,當單位時間出現 \(T\) 中至少一個的機率為 \(p\),則出現 \(T\) 中至少一個的期望時間為 \(\frac{1}{p}\)。於是容易求出 \(E(\text{Max}(S))\),即所有元素都出現的期望時間。

相關文章