容斥、反演、卷积与高维前缀和
数学的大网磅礴地展开了。
容斥、反演、卷积与高维前缀和 Stream
Draft
我觉得,我们最开始使用的时候,肯定是从最普通基础的容斥原理讲起的,因为这就是我们实际遇到的一种问题:
问题 1 通过集合交求集合并
假设班里有
个学生喜欢数学, 个学生喜欢语文, 个学生喜欢编程,班里至少喜欢一门学科的有多少个学生呢?
我们小学的时候就学习过这种问题,当时,我们会画 Venn 图来解决:
我们将这个形式一般化,就变成了:
公式 1 容斥原理
这个形式很有意思,它为什么正确?
定理 1 二项式定理
证明 容斥原理
一个元素一个元素考虑,我们需要算出最后的并集,所以每一个元素的贡献都应该是
那么贡献就分别是:
这个好像就是二项式定理的形式!那么他的总和就是
所以证明它的关键想法是,我们要计算每个元素贡献,确保为
我们通过容斥原理,将求集合并转化为求集合交。这一切是通过附加一个系数实现的。
To do:从线性代数的角度说明。
但是,当问题比较复杂的时候,容斥原理可能就似了。
问题 2 错位排列计数
对于一个长为
的排列 ,称数 在初始位置当且仅当 ,现在要求有多少序列满足恰好有 个元素在初始位置。
这个问题不好直接计算,但是我们马上就指出,可以用钦定
那么,
现在如何将它转化为
我们考虑一个恰好有
好的,我们减去
我们写出来发现的规律:
上面的推导过程其实蕴含着下面这条性质:
好的,我们实际上得到了这样的等价关系:
公式 2 二项式反演-形式二
当当,这就是著名的二项式反演最常用的形式!(证明请见 OI-Wiki)
二项式反演可以转化“钦定”/“恰好”类型的问题。他们都满足形如左边这样的关系,我们可以将它换成右边这样!
所以反演其实是“凑容斥系数”的一些特殊情况,在这些问题上我们无需依靠直觉,只需要套就行了。
本文来自博客园,作者:haozexu,转载请注明原文链接:https://www.cnblogs.com/haozexu/p/18743497
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2023-02-28 DP-笔记1