Min-Max 容斥算法

Min-Max 容斥可以在已知一者的情况下求出另外一者,如

max(a,b)=a+bmin(a,b)max(a,b,c)=a+b+cmin(a,b)min(a,c)min(b,c)+min(a,b,c) \max(a,b)=a+b-\min(a,b)\\ \max(a,b,c)=a+b+c-\min(a,b)-\min(a,c)-\min(b,c)+\min(a,b,c)

我们把这个式子推广到 nn 个变量的情况的话,就有(令 S={a1,a2,,an}S=\set{a_1,a_2,\dots,a_n}

min(S)=TS(1)T1max(T)max(S)=TS(1)T1min(T) \min(S)=\sum_{T\subseteq S} (-1)^{|T|-1} \max(T)\\ \max(S)=\sum_{T\subseteq S} (-1)^{|T|-1} \min(T)
扩展:kk-th Min-Max 容斥

mink(S)=TS(1)Tk(T1k1)max(T)maxk(S)=TS(1)Tk(T1k1)min(T)\mathop{\mathrm{min_k}}(S)=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}\max(T)\\\mathop{\mathrm{max_k}}(S)=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}\min(T)
证明