容斥与反演
容斥与反演
容斥
容斥原理
用于不重不漏地【表达/转化】某集合
广义容斥:合法方案数 = 总方案数 - 不合法方案数
狭义容斥:
我们来证明一下容斥系数为什么是
一个被n个集合包含的元素,那么它的容斥系数之和为:
Min-Max容斥
其中 max(S) 表示集合 S 中所有元素的最大值。
证明:对于第k+1大的元素,有k个比它小的集合。以它为最小值的,大小为 i 的集合有
推广到求第 k 大的元素:
其中 kthmax(S) 表示集合 S 中所有元素的第 k 大值。证明与上面的类似。
min-max容斥还有很好的期望意义,这是min-max容斥得以广泛使用的重要原因:
反演
反演的本质就是容斥。
我们从一下几种常见的反演来讲:
二项式反演
因为第二个式子可以由第一个式子推出,所以我们先证明第一个。
组合意义证明
记
于是有:
使用容斥原理,可以得到:
这个因该很好感性理解,下面是严谨证明
代数证明:(某知名竞赛教练在白板上的珍贵推导过程)
例:例题
我们用矩阵描述这一过程:
刚才给出的证明等价于证明A·B=I。
将A和B转置(延对角线翻着)之后得到的矩阵仍然是互逆的.
所以
子集反演
第二个式子由第一个式子取补得到。
而对于第一个式子的证明,我们选择讲左式代入右式:
改为枚举集合T的大小:
斯特林反转
带入用反转公式可以验证。
单位根反演
(应该只在FFT的证明中有用到)
这里用
证明:
该式为等比数列,所以:
观察到,
所以上式化简为:
莫比乌斯反演
不过这玩意一般不是这么用的,详见这里
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析