考虑有一个确定的集合\(S\),想求它的第\(k\)大。
当然很容易直接求,但是当\(S\)不确定时(比如说期望下),可能不好直接统计,所以需要转换成\(min\)。
枚举\(T \in S\),赋予\(T\)容斥系数\(f(T)\)。
看看\(f\)是多少:
相当于要满足下面这个等式:
\([x+1=k]=\sum_{i=0}^x \binom{x}{i} f(i+1)\)
显然可以直接反演:
设\(f‘(i)=f(i+1)\)
则\([x+1=k]=\sum_{i=0}^x \binom{x}{i} f‘(i)\)
\(f‘(x)=\sum_{i=0}^x \binom{x}{i}*(-1)^{x-i}*[i+1=k]\)
\(f‘(x)=\binom{x}{k-1}*(-1)^{x-(k-1)}\)
则\(f(x)=f‘(x-1)=\binom{x-1}{k-1}*(-1)^{x-k}\)
当\(k=1\)时即普通的min-max容斥。
原文:https://www.cnblogs.com/coldchair/p/13404911.html