min-max容斥

\(\max(S)\)为集合S中的最大值,\(\min(S)\)为集合S中的最小值,可得

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

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

使用时要保证集合元素两两互异,若有相同元素,处理时进行微小扰动即可

对第一个等式进行分析,考虑一个元素\(x\),其在集合\(S\)中的排名为\(k\),那么对于一个\(S\)的子集\(T\),使得\(\min(T)=x\)\(T\)的个数有\(2^{|S|-k}\)个,其中大小为偶数的有\(2^{|S|-k-1}\)个,大小为奇数的有\(2^{|S|-k-1}\)个,刚好相互抵消

只有当这个元素\(x\)的排名为\(|S|\)时,也就是\(S\)集合中的最大值时,其不会被抵消

posted @ 2020-03-22 11:15  lhm_liu  阅读(209)  评论(0编辑  收藏  举报