【笔记】容斥原理
一般化,有若干个物品,若干个属性,每个物品有若干个属性(可能没有)。现在要求有属性的物品的总数。
我们要求的,就是拥有某一个属性的总数,减去拥有某两个属性的总数,加上拥有某三个属性的总数,依次类推。
应用
直接容斥
固定什么是物品,什么是属性,然后直接根据定义直接容斥。
一种付款方案是物品,第 \(i\) 种硬币是否过度使用是属性,然后容斥。
二项式反演
\[f(n) = \sum \limits_{i= 0}^n \binom{n}{i}g(i) \Longleftrightarrow g(n)=\sum\limits_{i =0}^n(-1)^{n-i}\binom{n}{i}f(i)
\]
【题解】CF1516E Baby Ehab Plays with Permutations
莫比乌斯反演
\[F=f*1\Longleftrightarrow f = F * \mu
\]
子集反演
\[f(S)=\sum\limits_{T\subseteq S}g(T)
\]
\[g(S)=\sum\limits_{T\subseteq S}(-1)^{|S|-|T|}f(T)
\]
二项式反演是特殊形式的子集反演,当函数 \(f,g\) 只与集合大小有关时这就是二项式反演。
一般配合子集卷积。
FWT
\[FWT(a)_i = \sum\limits_{j\oplus i=i} a_i
\]
当 \(\oplus = or\) 时,\(FWT(a)=merge(FWT(a_0),FWT(a_0)+FWT(a_1))\)
当 \(\oplus = and\) 时,\(FWT(a)=merge(FWT(a_0)+FWT(a_1),FWT(a_1))\)
当 \(\oplus = xor\) 时,\(FWT(a)=merge(FWT(a_0)+FWT(a_1),FWT(a_0)-FWT(a_1))\)
\(IFWT\) 直接逆运算即可,不用考虑顺序。
\(Min-Max\) 容斥
\[\min\{S\}=\sum\limits_{T\subseteq S}(-1)^{|T|+1}\max\{T\}
\]
\[\max\{S\}=\sum\limits_{T\subseteq S}(-1)^{|T|+1}\min\{T\}
\]
这玩意对期望也成立。
\[E(\min\{S\})=\sum\limits_{T\subseteq S}(-1)^{|T|+1}E(\max\{T\})
\]
\[E(\max\{S\})=\sum\limits_{T\subseteq S}(-1)^{|T|+1}E(\min\{T\})
\]
一般化
\[\max_k\{S\}=\sum\limits_{T\subseteq S}(-1)^{|T|+k}\binom{|T|-1}{k-1}\min\{T\}
\]
\[\min_k\{S\}=\sum\limits_{T\subseteq S}(-1)^{|T|+k}\binom{|T|-1}{k-1}\max\{T\}
\]
这样我们将求第 \(k\) 大元素转化为求最小元素。
为啥这阴间玩意总是和期望出在一起(