容斥与反演

news/2025/1/30 22:53:20/文章来源:https://www.cnblogs.com/water-flower/p/18695465

容斥与反演

容斥

容斥原理

用于不重不漏地【表达/转化】某集合

广义容斥:合法方案数 = 总方案数 - 不合法方案数

狭义容斥:

\[\left|\bigcup_{i = 1}^{n}S_i\right|=\sum_{x = 1}^{n}(-1)^{x - 1}\sum_{i_1<i_2<\cdots <i_x}\left|\bigcap_{j = 1}^{x}S_{i_j}\right| \]

我们来证明一下容斥系数为什么是 \((-1)^{x - 1}\)

一个被n个集合包含的元素,那么它的容斥系数之和为:

\[\sum_{i = 1}^{n}(-1)^{i - 1}\binom{n}{i}=\binom{n}{0}-\sum_{i = 0}^{n}(-1)^{i}\binom{n}{i}=1 \]

Min-Max容斥

\[\max(S)=\sum_{T\subseteq S}(-1)^{|T|-1}\min(T)\\ \min(S)=\sum_{T\subseteq S}(-1)^{|T|-1}\max(T) \]

其中 max(S) 表示集合 S 中所有元素的最大值。

证明:对于第k+1大的元素,有k个比它小的集合。以它为最小值的,大小为 i 的集合有 \(\binom k{i-1}\) 个,所以它的统计次数为:

\[\sum_{i = 1}^{k + 1}\binom{k}{i - 1}(-1)^{i - 1}=\sum_{i = 0}^{k}\binom{k}{i}(-1)^{i}=[k = 0] \]

推广到求第 k 大的元素:

\[\mathrm{kthmax}(S)=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k - 1}\min(T)\\ \mathrm{kthmin}(S)=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k - 1}\max(T) \]

其中 kthmax(S) 表示集合 S 中所有元素的第 k 大值。证明与上面的类似。

min-max容斥还有很好的期望意义,这是min-max容斥得以广泛使用的重要原因:

\[E(\max(S))=\sum_{T\subseteq S}(-1)^{|T|-1}E(\min(T))\\ E(\min(S))=\sum_{T\subseteq S}(-1)^{|T|-1}E(\max(T))\\ E(\mathrm{kthmax}(S))=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k - 1}E(\min(T))\\ E(\mathrm{kthmin}(S))=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k - 1}E(\max(T)) \]

反演

反演的本质就是容斥。

我们从一下几种常见的反演来讲:

二项式反演

\[f(n)=\sum_{i = 0}^{n}\binom{n}{i}g(i)\Leftrightarrow g(n)=\sum_{i = 0}^{n}(-1)^{n - i}\binom{n}{i}f(i)\\ f(n)=\sum_{i = n}^{m}\binom{i}{n}g(i)\Leftrightarrow g(n)=\sum_{i = n}^{m}(-1)^{i - n}\binom{i}{n}f(i) \]

因为第二个式子可以由第一个式子推出,所以我们先证明第一个。

组合意义证明

\(f_n\)表示恰好使用n个不同元素形成特定结构的方案数,\(g_n\)表示从n个不同元素中选出若干个元素形成特定结构的总方案数。

于是有:\(g_n = \sum^n_{i=0}\binom{n}{i}f_i\)

使用容斥原理,可以得到:\(f_n = \sum^n_{i=0}(-1)^{n-i}\binom nmg_i\)

这个因该很好感性理解,下面是严谨证明$\downarrow $

代数证明:(某知名竞赛教练在白板上的珍贵推导过程)



例:例题

我们用矩阵描述这一过程:

\[\underbrace{ \begin{pmatrix} \binom{0}{0} & 0 & \cdots & 0 \\ \binom{1}{0} & \binom{1}{1} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ \binom{n}{0} & \binom{n}{1} & \cdots & \binom{n}{n} \end{pmatrix} }_{\boldsymbol{A}} \begin{pmatrix} f_0 \\ f_1 \\ \vdots \\ f_n \end{pmatrix} = \begin{pmatrix} g_0 \\ g_1 \\ \vdots \\ g_n \end{pmatrix} \Leftrightarrow \]

\[\underbrace{ \begin{pmatrix} \binom{0}{0} & 0 & \cdots & 0 \\ -\binom{1}{0} & \binom{1}{1} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ (-1)^n\binom{n}{0} & (-1)^{n - 1}\binom{n}{1} & \cdots & \binom{n}{n} \end{pmatrix} }_{\boldsymbol{B}} \begin{pmatrix} g_0 \\ g_1 \\ \vdots \\ g_n \end{pmatrix}= \begin{pmatrix} f_0 \\ f_1 \\ \vdots \\ f_n \end{pmatrix} \]

刚才给出的证明等价于证明A·B=I。

将A和B转置(延对角线翻着)之后得到的矩阵仍然是互逆的.

所以 \(g_m = \sum_{i = m}^{n} \binom{i}{m} f_i \Longleftrightarrow f_m = \sum_{i = m}^{n} (-1)^{i - m} \binom{i}{m} g_i\)

子集反演

\[f(S)=\sum_{T\subseteq S}g(T)\Longleftrightarrow g(S)=\sum_{T\subseteq S}(-1)^{|S|-|T|}f(T)\\ f(S)=\sum_{S\subseteq T}g(T)\Longleftrightarrow g(S)=\sum_{S\subseteq T}(-1)^{|T|-|S|}f(T) \]

第二个式子由第一个式子取补得到。

而对于第一个式子的证明,我们选择讲左式代入右式:

\[g(S) = \sum_{T\subseteq S}(-1)^{|S|-|T|}\sum_{X\subseteq T}g(X)=\sum_{X\subseteq S}g(X)\sum_{X\subseteq T\subseteq S}(-1)^{|S|-|T|} \]

改为枚举集合T的大小:

\[\begin{align*} \text{上式}&=\sum_{X\subseteq S}g(X)\sum_{i = |X|}^{|S|}\binom{|S|-|X|}{i - |X|}(-1)^{|S|-i}\\ &=\sum_{X\subseteq S}g(X)\sum_{i = 0}^{|S|-|X|}\binom{|S|-|X|}{i}(-1)^{|S|-|X|-i}\\ &=\sum_{X\subseteq S}g(X)[|X| = |S|]=g(S) \\\Box \end{align*} \]

斯特林反转

\[f(n)=\sum_{k = 0}^{n}\left\{\begin{array}{l}n\\k\end{array}\right\}g(k)\Longleftrightarrow g(n)=\sum_{k = 0}^{n}(-1)^{n - k}\left[\begin{array}{l}n\\k\end{array}\right]f(k)\\ f(m)=\sum_{k = m}^{n}\left\{\begin{array}{l}k\\m\end{array}\right\}g(k)\Longleftrightarrow g(m)=\sum_{k = m}^{n}(-1)^{k - m}\left[\begin{array}{l}k\\m\end{array}\right]f(k) \]

带入用反转公式可以验证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/877194.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库查询优化:提升性能的关键实践

title: 数据库查询优化:提升性能的关键实践 date: 2025/1/30 updated: 2025/1/30 author: cmdragon excerpt: 在当今数据驱动的商业环境中,数据库的性能直接影响着应用程序的响应速度和用户体验。查询优化是性能调优的重要组成部分,通过对 SQL 查询的分析与改进,减少查询…

记一次LLVM平行宇宙修包实战

最近加入了LLVM平行宇宙计划小组,在小组内提交了一定数量的PR。这个计划究竟是做什么的呢?LLVM平行宇宙计划是基于LLVM技术栈构建openEuler软件包,大白话讲就是原本一个软件包是用gcc/g++编译的,现在换成clang/clang++编译。虽然只是切换了编译工具,但是偶尔也有可能出现一…

spark--设置日志级别

修改前: Windows:修改后: Windows:对比: Windows:修改过程: Windows: C:\Users\Administrator\Documents\spark\spark-3.5.4-bin-hadoop3>copy conf\log4j2.properties.template conf\log4j2.properties 已复制 1 个文件。 rootLogger.level = info rootLogger.…

动手学大模型应用开发,第1天:学习大模型必知必会

一. 什么是LLM(大语言模型)? 1. 发展历程 语言建模的研究始于20世纪90年代,最初采用了统计学习方法,通过前面的词汇来预测下一个词汇。然而,这种方法在理解复杂语言规则方面存在一定局限性。 随后,研究人员不断尝试改进,其中在2003年,深度学习先驱Bengio在他的经典论文…

RevivedUnblockInstaller无法加载版本的一种解决方法

可以自己去Github仓库下一个 https://github.com/UnblockNeteaseMusic/server 打开RevivedUnblockInstaller目录,我这里是C:\betterncm\RevivedUnblockInstaller 把unblockneteasemusic-win-x64.exe改成UnblockNeteaseMusic-vx.xx.x.exe 我这里改成了UnblockNeteaseMusic-v0.2…

二分答案——时隔三个月的再次

暂且不提三个月未更新的主要原因(懒) 来自25年牛牛寒假营的一道寄巧题part1 仔细考虑,显然满足单调性:假设时间T恰好发生第k次碰撞,那么T之前都不能发生,T之后只会越来越多 据此,又回到了上一篇的二分答案模板,但这里仍需考虑几个问题,如何简化问题? 对于高中物理,无…

[SWPUCTF 2021 新生赛]easyupload1.0 Writeup

1.发现是一个文件上传的题目,先上传一个一句话木马hack.jpg(因为题目前端有格式控制只能上传jpg文件)2.用burp抓包后修改后缀名为.php绕过过滤3.发包后显示:4:再用蚁剑进行连接(注意url,文件在/upload中上传),发现连接成功后找到flag.php但是发现这是个假flag(个人认为…

DeepSeek-R1环境搭建推理测试

​ 引子 这两天国货之光DeepSeek-R1火爆出圈,凑个热闹。过来看看 aha moment(顿悟时刻)的神奇,OK,我们开始吧。 一、模型介绍 1月20日,中国AI公司深度求索(DeepSeek)发布的DeepSeek-R1模型,凭借其独特的强化学习(RL)训练方法,首次让AI展现出类人的“顿悟时刻”——…

Centos7解决 pip is configured with locations that require TLS/SSL 问题

​ 当在 CentOS 系统中遇到 pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available 错误时,这通常意味着 Python 的 SSL 模块没有正确安装或配置,从而导致pip无法使用安全连接来下载包。以下是解决此问题的详细步骤: …

突破自我,研发必须掌握的软技能!

0 你的问题,我知道! 光有硬技能远不够,很多研发硬技能不错,但发展有明显天花板。 影响研发职业发展走多远的核心能力有啥?技术只是打底和起步,长期职业发展看综合能力,各种软技能组合。研发常忽视或理解片面的能力: 1 沟通表达 1.1 啥是沟通表达? 不是口头“能说”,而…

小智带货助手【制作教程】增加音视频转换加贴纸等

根据用户反馈,【制作教程】在原有的功能基础之上,小智带货助手额外增加了:视频裁剪、音视频转换以及提取、音视频合并、图片转视频、音频截取、视频加贴纸等。便于直接对下载的素材进行二创修改。 截取音视频:begin为开始时间(毫秒),duration为要截取的时长(毫秒);注意单位…

昆明理工大学MBA25考研复试真题

--昆工MBA考研、管理与经济学院、125100工商管理、125602项目管理、199管理类综合能力、F009 政治、F008政治+项目管理概论