Part 2【反演、容斥、stiring 数】
1. 容斥
1.1 普通容斥
1.1.1
人话:所有满足任何一个条件的数的和 可以表示成:枚举一个子集,满足这个子集里的所有条件的数,加上 -1 次方的容斥系数。或者如下:
1.1.2 下标形式
把式子给成下标形式,后面的选出 \(|T|\) 个数就可以用 dp 等直接处理,而不是枚举子集。
换句话说,因为 \(|T'|\) 的容斥系数是一样的,所以我们可以把长度为 \(|T'|\) 的所有方案抽象地根据 dp,组合数等方法算出来。(根据元素的相似性),从而使得复杂度从指数变成线性次方。
1.1.3 只有 1.1.1,不满足!
如果要求:\(\left| \bigcap \limits _{i=1}^n S_i \right|\) 呢?
补集转化即可:减去所有至少一个不满足的容斥。
这里用的是下标形式,而且这也是比集合更常见的形式。
1.1.4 一般形式:(大概没用)
考虑把集合大小改成任意函数。即若
那么有
1.1.5 应用
鸽。
1.2 Min-Max 容斥
鸽。
2. 二项式反演
魏老师说这也是容斥。
2.0 前言——关于所有反演(包括容斥的一般形式)
我们有 2 种理解方式。
2.0.1 式子的形式
如果你的式子长得像某种反演,那么直接用公式即可。
2.0.2 组合意义
如果你求出了某个反演所需要的一个函数 \(f/g\),你就可以用这个反演求出另一个函数。
2.1 形式
2.1.1 形式一
若 \(f(n)=\sum\limits _{i=0}^n\binom{n}{i}g(i)\),那么 \(g(n)=\sum\limits _{i=0}^n (-1)^{n-i} \dbinom{n}{i}f(i)\)。
2.1.2 形式二
若 \(f(i)=\sum\limits _{j=i}^n\binom{j}{i}g(i)\),那么 \(g(i)=\sum\limits _{j=i}^n (-1)^{j-i} \dbinom{j}{i}f(j)\)。
2.2 理解
如何通过组合意义理解上述 \(f,g\)?多数情况下是这样:
设 \(f\) 表示钦定有多少个,\(g\) 表示恰好。
摘录:
OI 界二项式反演的应用常结合动态规划:DP 求出钦定选择 \(i\) 个元素时的总方案,然后就可以通过二项式反演得到恰好选择 \(i\) 个元素时的方案数。
综上所述,我们总结出二项式定理的核心:通过二项式系数的容斥进行 “钦定” 和 “恰好” 的转换。
2.3 一种推式子的思路
设 \(g\) 为题目要你求的东西,你需要设计一个容易求得的 \(f\),使之可以由 \(g\) 算出。
容易求得指的是不仅可以通过 \(g\) 算出,还要有另一种平凡的算法(式)。!!一般来说,\(f\) 设的是所有方案/钦定。
那么你就可以反演就出 \(g\) 了,其中 \(f\) 代入另一个式子。