容斥相关

原来的博客太naive了,基本上就是抄课件而且还抄不对

现在学的容斥也没多少,就记一下碰到过的东西。应该没有证明。

炫酷反演魔术

子集反演

大概是最显然的反演了?

对以集合为参数的函数 \(f\) 和 \(g\) ,有

\[\large{g(S)=\sum_{T\subseteq S}f(T)\Leftrightarrow f(S)=\sum_{T\subseteq S}(-1)^{|S|-|T|}g(T)} \]

直接奇加偶减就可以理解。

[SHOI2016]黑暗前的幻想乡

直接子集反演,矩阵树定理算就好了。

[ZJOI2016]小星星

通过把正好映射转化成映射子集把状态降维,避免了枚举子集的转移,最后容斥。

二项式反演

经常用来解决要求恰好满足某一条件的问题。

对于函数 \(f\) 和 \(g\) ,有

\[\large{g(n)=\sum_{i=1}^n\binom{n}{i}f(i)\Leftrightarrow f(n)=\sum_{i=1}^n(-1)^{n-i}\binom{n}{i}g(i)} \]

\[\large{g(n)=\sum_{i=n}^m\binom{m}{n}f(i)\Leftrightarrow f(n)=\sum_{i=n}^m(-1)^{i-n}\binom{i}{n}g(i)} \]

这两种形式本质上是一样的。

为了方便,这两种形式有时被称作至多至少,但两函数之间的关系实际上不能被至多至少与恰好的关系概括。

即它们不是简单前缀和后缀和的关系,而是 \(g\) 钦定一些元素符合条件,其他元素随意。因此系数应加上一个组合数。通过这样的容斥简化计算。

[LJOI2016]成绩比较

二项式反演,每次钦定碾压了多少人,通过容斥得到答案。中间涉及组合计数基础和连续幂次求和。

已经没有什么好害怕的了

排序后钦定有多少组糖果大于药片, \(DP\) 后容斥,同时考虑大于和小于不好 \(DP\) ,只考虑大于的结果,最后统一乘阶乘得到方案数。

上一篇:155. 最小栈


下一篇:295.Find Median from Data Stream