Part 2【反演、容斥、stiring 数】

1. 容斥

1.1 普通容斥

1.1.1

|iSSi|=TS,T≠∌(1)|T|1|jTSj|

人话:所有满足任何一个条件的数的和 可以表示成:枚举一个子集,满足这个子集里的所有条件的数,加上 -1 次方的容斥系数。或者如下

1.1.2 下标形式

把式子给成下标形式,后面的选出 |T| 个数就可以用 dp 等直接处理,而不是枚举子集。

换句话说,因为 |T| 的容斥系数是一样的,所以我们可以把长度为 |T| 的所有方案抽象地根据 dp,组合数等方法算出来。(根据元素的相似性),从而使得复杂度从指数变成线性次方。

1.1.3 只有 1.1.1,不满足!

如果要求:|i=1nSi| 呢?

补集转化即可:减去所有至少一个不满足的容斥。

|i=1nSi|=|U||i=1nSi|

这里用的是下标形式,而且这也是比集合更常见的形式。

1.1.4 一般形式:(大概没用)

考虑把集合大小改成任意函数。即若

f(S)=TSg(T)

那么有

g(S)=TS(1)|S||T|f(T)

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)=i=0n(ni)g(i),那么 g(n)=i=0n(1)ni(ni)f(i)

2.1.2 形式二

f(i)=j=in(ji)g(i),那么 g(i)=j=in(1)ji(ji)f(j)

2.2 理解

如何通过组合意义理解上述 f,g?多数情况下是这样:

f 表示钦定有多少个,g 表示恰好

摘录:

OI 界二项式反演的应用常结合动态规划:DP 求出钦定选择 i 个元素时的总方案,然后就可以通过二项式反演得到恰好选择 i 个元素时的方案数。

综上所述,我们总结出二项式定理的核心:通过二项式系数的容斥进行 “钦定” 和 “恰好” 的转换

2.3 一种推式子的思路

g题目要你求的东西,你需要设计一个容易求得f,使之可以由 g 算出。

容易求得指的是不仅可以通过 g 算出,还要有另一种平凡的算法(式)。!!一般来说,f 设的是所有方案/钦定。

那么你就可以反演就出 g 了,其中 f 代入另一个式子。

posted @   LCat90  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示