容斥相关

原来的博客太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]黑暗前的幻想乡

一句话题解 直接子集反演,矩阵树定理算就好了。

Solution by shadowice1984

[ZJOI2016]小星星

一句话题解 通过把正好映射转化成映射子集把状态降维,避免了枚举子集的子树合并,最后容斥。

联赛前杂题乱胡16th


二项式反演

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

对于函数 \(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\) 钦定一些元素符合条件,其他元素随意。因此系数应加上一个组合数。通过这样的容斥简化计算。

实际上是通过把相同情况的元素一并考虑简化了子集反演的过程。

[JLOI2016]成绩比较

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

Solution by M-sea

已经没有什么好害怕的了

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

Solution by p_b_p_b


莫比乌斯反演

用于解决与约数倍数有关的问题。

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

\[\large{f(n)=\sum_{d|n}g(d)\Leftrightarrow g(n)=\sum_{d|n}\mu(d)f(\frac{n}{d})} \]

\[\large{f(n)=\sum_{n|d}g(d)\Leftrightarrow g(n)=\sum_{n|d}\mu(\frac{d}{n})f(d)} \]

事实上貌似绝大多数莫反的问题都可以通过 \(\large{[n=1]=\sum_{d|n}\mu(d)}\) 加上和式变换做。我到现在还没记住上面的式子

但我目前见到的莫反好像差不多都是纯推式子,不大好放到这里当例题。。强行找了两道NB题放这了

[CF809E]Surprise me!

一句话题解 用欧拉函数化简式子,枚举 $\gcd$ 莫比乌斯反演后建出虚树 $DP$ 。

我的题解

一个人的数论

一句话题解 构造出 $f$ 和 $g$ 后莫比乌斯反演,代入多项式系数后利用莫比乌斯函数性质简化式子,最后拉格朗日插值插出多项式系数。

我的题解


斯特林数/反演

第二类斯特林数为将一个大小为 \(n\) 的集合划分为 \(k\) 个非空子集的方案数,写作 \(\begin{Bmatrix}n\\k\end{Bmatrix}\)

递推式与通项公式:

\[\large{\begin{Bmatrix}n\\k\end{Bmatrix}=\begin{Bmatrix}n-1\\k-1\end{Bmatrix}+k\begin{Bmatrix}n-1\\k\end{Bmatrix}} \]

\[\large{\begin{Bmatrix}n\\k\end{Bmatrix}=\sum_{i=0}^k\frac{(-1)^{k-i}i^n}{i!(k-i)!}} \]

递推边界为 \(\begin{Bmatrix}0\\0\end{Bmatrix}=1\)

通常幂转下降幂:

\[\large{x^k=\sum_{i=1}^k\begin{Bmatrix}k\\i\end{Bmatrix}x^{\underline i}} \]

可以结合这个式子进行计算(就算不说也很显然吧

\[\large{(x+1)^{\underline {i}}=i\times x^{\underline {i-1}}+x^{\underline i}} \]

连续数幂和貌似被拉格朗日插值暴打。。就不放推导了。大体是用组合数表示一段下降幂然后约分。

\[\large{\sum_{i=1}^ni^k=\sum_{j=0}^k\begin{Bmatrix}k\\j\end{Bmatrix}\frac{(n+1)^{\underline{j+1}}}{j+1}} \]

UPD:还是要掌握的,因为这种方法可以避免求逆元。( \(j+1\) 一定会在下降幂中被约去

第一类斯特林数目前好像只用来反演过。。是将一个大小为 \(n\) 的集合划分为 \(k\) 个非空轮换(圆排列)的方案数,写作\(\begin{bmatrix}n\\k\end{bmatrix}\)

递推式:

\[\large{\begin{bmatrix}n\\k\end{bmatrix}=\begin{bmatrix}n-1\\k-1\end{bmatrix}+(n-1)\begin{bmatrix}n-1\\k\end{bmatrix}} \]

边界也为 \(\begin{bmatrix}0\\0\end{bmatrix}=1\)

斯特林反演用于解决与划分相关的计数问题。对于函数 \(f\)\(g\) ,有

\[\large{f(n)=\sum_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}g(i)\Leftrightarrow g(n)=\sum_{i=0}^n(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}f(i)} \]

\[\large{f(n)=\sum_{i=n}^m\begin{Bmatrix}i\\n\end{Bmatrix}g(i)\Leftrightarrow g(n)=\sum_{i=n}^m(-1)^{i-n}\begin{bmatrix}i\\n\end{bmatrix}f(i)} \]

Crash的文明世界

一句话题解 通常幂转下降幂后记子树内到当前点的距离下降幂和与到当前点父亲的距离下降幂和,换根 $DP$ 。

NOIP模拟52T3

异或图

一句话题解 最后答案就是连通块数恰好为 $1$ 的方案。求连通块数至少为某值的方案数,进行斯特林反演。具体求值要枚举图上点的子集划分,并用线性基统计答案。

Solution by yyb


Min-max容斥/最值反演

用于解决期望最值的问题。

对于集合 \(S\) ,若它的元素满足可加性与全序关系(就是可以正常比较大小),那么有

\[\large{\max_{x_i\in S}x_i=\sum_{T\subseteq S}(-1)^{|T|-1}\min_{x_j\in T}x_j} \]

交换 \(\min\)\(\max\) ,等式依然成立。常用于求最值的期望。由期望的线性性,这个式子对期望依然成立。

\[\large{\mathbb{E}(\max_{x_i\in S}x_i)=\sum_{T\subseteq S}(-1)^{|T|-1}\mathbb{E}(\min_{x_j\in T}x_j)} \]

扩展:kthMin-max容斥

\[\large{\underset{x_i\in S}{\operatorname{kthmax}}\;x_i=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}\min_{x_j\in T}x_j} \]

类似地,对期望依然成立,交换 \(\min\)\(\max\) 等式依然成立。

\[\large{\mathbb{E}(\underset{x_i\in S}{\operatorname{kthmax}}\;x_i)=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}\mathbb{E}(\min_{x_j\in T}x_j)} \]

推论:

\[\large{\underset{x_i\in S}{\operatorname{lcm}}\;x_i=\prod_{T\subseteq S}(\gcd_{x_j\in T}x_j)^{(-1)^{|T|-1}}} \]

把最值反演推广到指数上, \(\operatorname{lcm}\) 等同于 \(\max\)\(\gcd\) 等同于 \(\min\)\(a^1\)\(a^{-1}\) 分别等同于 \(+\)\(-\) ,故该式成立。

最小公倍佩尔数

一句话题解 将 $\operatorname{lcm}$ 转化为 $\gcd$ ,再构造函数进行莫比乌斯反演,通过组合数交错相减的性质进行化简。

Solution by yyb

[PKUWC2018]随机游走

一句话题解 构建最值反演的模型,求第一次到点集内点的期望步数。通过待定系数避免带环的状态转移,最后通过高维前缀和完成反演。

Solution by TheLostWeak



大概告一段落?

posted @ 2022-01-01 15:52  keen_z  阅读(33)  评论(0编辑  收藏  举报