給出集合\(s\),可以通過某種奇特的方式將最小值和最大值互相轉化,甚至轉化為\(k\)大值。
更為有用的是,它在期望意義下也是正確的。
\[min(s)=\sum_ (-1)^ max(t)\\
max(s)=\sum_ (-1)^ min(t)
\]證明和作用不再贅述,網上大把。
\(min-max\)容斥不只可以搞出最值,甚至可以搞出\(k\)大值。
受上面的啟發,我們仍然考慮乙個容斥:
\[kthmax(s)=\sum_f(|t|) min(t)
\]其中\(f(x)\)是乙個未知的函式,我們需要將其構造出來。
對於乙個排名為\(x\)的元素(即第\(n-x+1\)大),它對答案的貢獻係數是這樣乙個東西:
\[\sum_^ f(i+1)
\]我們令
\[\sum_^ f(i+1)=[n-x+1=k]=[n-x=k-1]
\]得到
\[\begin
[a=k-1]&=\sum_^a f(i+1)\\
\end
\]由二項式反演,得
\[\begin
f(m+1)&=\sum_^m (-1)^[i=k-1]\\
&= (-1)^\\
\end\\
\therefore f(m)= (-1)^
\]於是我們有
\[kthmax(s)=\sum_ (-1)^ min(t)
\]更好的是,這個式子在期望意義下仍然成立,即
\[e(kthmax(s))=\sum_ (-1)^ e(min(t))
\](然而我並不會證明……)
考慮這樣一道題:
有一些物品\(a_i\)。在每個時刻,\(a_i\)出現的概率為\(p_i\),其中\(\sum_i p_i=1\)。每個時刻會且僅會出現乙個物品,問期望多久時間能收集到\(k\)個不同的物品。\(n\leq 20\)
對於乙個集合\(s=\|1\leq i \leq m\}\),定義\(min(s)\)為\(s\)中最早出現的物品出現的時間,\(max,kthmax\)同理,就可以套用上面的式子:
\[e(kthmax(s))=\sum_ (-1)^ e(min(t))
\]其中$e(min(t))=\frac} $。
於是我們預處理階乘、\(e(min(t))\),然後大力列舉\(t\),就可以在\(o(2^n)\)的時間內得到答案了。(可能有更快的做法?懶得想了)
洛谷p3175 [haoi2015]按位或
洛谷p4707 重返現世
min max容斥學習筆記
min max 容斥是說乙個這樣的式子 max sum 1 min min sum 1 max 其中 min 表示 s 集合中的最小元素,max 表示最大元素。第乙個式子證明如下 max sum f t min 考慮第 x 1 大的元素被統計到的次數,我們可以列舉有多少個集合的最小值為第 x 1 大...
總結 Min Max容斥學習筆記
給定集合 s 設 max s 為 s 中的最大值,min s 為 s 中的最小值,則 max s sum 1 min t 這個東西叫 min max容斥。證明可以拿二項式反演證 題目有 n 種卡片,每一秒都有 p i 的概率獲得一張第 i 種卡片,求每張卡片都至少有一張的期望時間。記 max s 為...
Min Max 容斥的證明
這裡有 min max 容斥的證明以及唯一一道博主做過的例題.上個結論 min sum 1 max max sum 1 min 具體的證明其實很簡單.我們考慮證明其中乙個 以第乙個為例 另乙個可以用類似證法得到結論。咱直接考慮集合內元素不重的情況,因為相同大小我們強制規定他們之間存在大小關係就好了,...