网课-组合数学学习笔记2
基础
插板法
-
非空:
-
有空:
构造 一一对应的转化:
现有两个集合
。如果所有 中的元素都能够映射到 中,则 ;反之,如果 能映射到 ,则 。二者同时成立,则 。 -
组大小有上界:
考虑容斥。(二项式反演型容斥。)
容易将赢的场次转化为连续段内点。然后就容易通过上面的方法得到
的解法。最后用 减去 即可。
Catalan 数
wrpwrp 给出了一个特别妙的证法:
Catalan 数的一种表示方式为,从网格图的
研究不合法的路径:
发现所有不合法的路径可唯一映射到一条
这个方法被称为“折线法”。
-
用刚刚的证法再做一遍即可。
折线法进阶:
-
如果形如
的 DP 转移方程比较简单,可以考虑换到网格图上做数路径。
斯特林数
-
第一类斯特林数
把
个不同元素构成 个无标号非空圆排列的方案数。 -
第二类斯特林数
把
个不同元素划分 个无标号非空子集的方案数。 -
普通幂转下降幂
-
例一:Cards
-
例二
一种方法是咔咔咔用斯特林数推式子,可以做到
。如果使用 拉格朗日插值,则可以做到
。拉格朗日插值:如果我们有如果我们有一个
次多项式的 个不同的点值 ,我们可以通过拉格朗日插值公式还原这个多项式。证明:如果默认结论“
个点值即可确定一个 次多项式”结论成立,那么我们构造的 显然有次数为 且有点值 。回到这道题,有一个结论:
为一个关于 的 次多项式。证明:使用数学归纳法。假设
可表示为一个关于 的 次多项式 ,满足 。那么如果 要成立,则 即 应当有解,而这的确是有解的。一个费解的点是:为什么不是关于
的 次多项式?如果是这样,则方程 应该有解;而最高项系数,则应有 ,这显然是错误的。现在我们只需要求出
时的点值,代入拉格朗日插值公式即可计算。直接暴力套公式是 的,但由于我们代入的 是连续的,连乘的结果可以用阶乘表示,于是预处理阶乘后可以做到 。
-
杂题
-
[AGC013D] Piling Up(代表元)
-
-
容斥。
-
矩阵快速幂。
-
对于任意一个序列,其差分序列与之构成双射。
-
容斥 & 反演
基本容斥
令
左侧:具备至少一种性质的元素个数。
右侧(第一个
使用时,我们常常使用其来求解“不具备任何性质的元素个数 = 全部元素 - 具备至少一种性质的元素个数”。
证明见下方“Trick:推容斥系数”。
-
容斥优化 排列计数 问题。
本题有朴素状压做法设
表示第 个点的编号为 ,且其子树的编号选法为 。有子集枚举复杂度 。注意到我们枚举子集的目的实际是为了避免重复编号。于是可以做容斥,钦定必须在
中选取编号。*另外我还有一个想法,我们能不能钦定哪些边不在图中呢?——不好处理边之间的相对位置关系。
-
Trick:推容斥系数
有什么用?当
(即容斥系数)不好求时,我们能够将不同的 代入,然后高斯消元求解。我们先拿它来证明最基本的容斥。考虑每一个元素
,它对于容斥最终结果的贡献应当为 1。设 一共在 个不同的集合中, 表示 在 个集合中同时出现的情况,则有:再由二项式定理得:
故令
,则有:构造条件
表示至少 个数在相同位置上,并代入不同 表示恰好 个位置在不同位置上。这里可以直接
递推解出 。
关于反演:
二项式反演
以第一个式子的证明为例。推导过程难点在一开始设出一个式子:
然后代入这个重要的式子:
接着咔咔咔推一下就可以了。
考虑上面二项式反演的组合意义。后者拥有更加常用的组合意义,即
子集反演
其实这两个式子,前者代表
高维差分的计算方式实际与高维前缀和一模一样,是逐位做减法。
这次证明代入的关键式为:
其它与二项式反演大同小异。
-
P6442 [COCI2011-2012#6] KOŠARE
同样,子集反演也可以用于“恰好”与“至多 / 至少”的转换。
-
没太懂。我认为直接称之为容斥 DP 会更合适,考虑一条边加 / 不加入,然后分成若干连通块。过会儿推一下。
min-max 反演
-
设
表示第 位变为 的时间,答案等价于 。使用 min-max 反演。
而
是很好求的因为可以贪心。
斯特林反演
-
例题一:
设
表示只限制行不等价的情况下的方案数,则有: 。设
表示行、列都不等价的情况下的答案,则有:相当于枚举等价类。
Tips:以后做组合计数问题,可以先弱化问题,然后找弱化后式子和要求式子的关系。
-
图上问题经常的套路就是将“连通”给容斥 / 反演掉。
设
表示恰好有 个联通块的方案, 表示钦定 个子集的方案(求解方法:将图划分为 个子集,子集内随便连边,子集间不连边)(注意不等同于 的后缀和),有如下式子成立:接下来需要求出
。这时可以直接枚举子集的划分情况,划分种类数为 贝尔数(即第二类斯特林数的一个前缀和),然后计算连边方案数(使用线性基计算自由元个数)。
生成函数(GF)
多项式定理
多项式
的展开式中 的系数
是:其中
。
广义二项式定理
上指标反转可以在
幂级数展开
使用平凡广义二项式定理即可展开的:
观察
在 GF 中,乘上
使用泰勒公式展开的:
OGF
-
例一:
正确性是由于若干括号相乘,等价于每个当中挑一个相乘,将所有方案相加。
-
就我最菜,连因式分解和完全立方公式都想不到
:(
EGF
更确切地说,EGF 主要被用于处理若干序列的合并问题。
为什么这么说呢?举例:
-
例一:
仅含偶数项的 EGF:
-
例二:
应用
-
推导数列通项公式
例,斐波那契、卡特兰。
-
多项式操作
三个:多项式求逆、多项式 ln、多项式 exp。
复杂度方法见 此。如果遇到不卡
的情况,我们可以对其求导后推一个简单的递推式。 -
例题
-
例一:
生成函数的设计
实际有几种选择:
-
以每种长度的骨牌为单位,构建选择几个骨牌的 EGF。
-
以选了几个骨牌为单位,构建选择每种骨牌的 OGF。
经过实践选择后者更加简洁。
注意不能有
,因为可能会导致前面的项与后面的项有重复方案。有答案的生成函数为:
-
-
例二:
考虑枚举环,将若干棵树拼到环上。
根据 Prufer 定理,
个点有标号无根树的数量为 ;故有 Cayley 定理, 个点有标号有根树的数量为 。所以有有根树的 EGF 为: 。接着枚举环。注意,这里的环翻转、旋转都会重复,故根据 Burnside 定理,长度为
的环的数量为 。因此答案的 EGF 为:(为什么不能直接像下一题,城市规划,那样做?)
-
这道题不同于前两道的一点在于,我们需要自己构造一个生成函数。(类似于反演题目。)
设
表示 个点有标号无向连通图数量, 表示 个点有标号无向图数量,可以发现有:于是求
的多项式 即可。
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?