MinMax 容斥 学习笔记
基本形式
证明
不提供数学证明。
简要讲一下抽象理解伪证:
考虑从大到小排名为 \(i\) 的数,这个数会作为集合 \(T\) 的最小值出现时,那么 \(T\) 剩下的所有值都是从大于它的数中选取的。那么选取方案就是 \(\binom{i-1}{|T|-1}\)。
如果 \(i=1\),也就是 \(a_i = \max(S)\),那么它只会被加上 \(1\) 次。
如果 \(i>1\),那么它一共会被算 \(\sum\limits_{2\not\mid j, j=1}^{i-1} \binom{i-1}{j-1} - \sum\limits_{2\mid j, j=2}^{i-1}\binom{i-1}{j-1}\)。根据组合数的常识,这个东西在 \(i-1>0\) 的时候答案为 \(0\)。
综上所述,\(\max(S) = \sum\limits_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}\min(T)\) 成立。证毕。
扩展1
显然。
推广
令 \(\max_k(S)\) 表示 \(S\) 中的第 \(k\) 大的值。
则
证明
类似于基本形式。
因为 \(|T|\geq k\),所以 \(\min(T) \leq \max_k(S)\)。
对于从大到小排列的第 \(i\) 个数,同基本形式,这个数会作为集合 \(T\) 的最小值出现时,那么 \(T\) 剩下的所有值都是从大于它的数中选取的。那么选取方案就是 \(\binom{i-1}{|T|-1}\)。
如果 \(i=k\),那么它只会被计算 \(1\) 次,即 \(T = \{x\mid x\geq a_i\}\) 时,同时 \(\binom{|T|-1}{k-1} = 1\)。
如果 \(i > k\),那么如上文所述,它会作为大小为 \(|T|\) 的集合出现的次数为 \(\binom{i-1}{|T|-1}\)。每一次出现会被计算 \(\binom{|T|-1}{k-1}\) 次。所以它作为大小为 \(|T|\) 的集合出现的总贡献为 \(\binom{i-1}{|T|-1}\binom{|T|-1}{k-1} = \binom{i-1}{k-1}\binom{i-k}{|T|-k}\)。所以 \(i\) 的总贡献为 \(\sum\limits_{2\not\mid j, j=k}^{i-1} \binom{i-1}{k-1}\binom{i-k}{j-k} - \sum\limits_{2\mid j, j=2}^{i-1}\binom{i-1}{k-1}\binom{i-k}{j-k} = \binom{i-1}{k-1}(\sum\limits_{2\not\mid j, j=k}^{i-1} \binom{i-k}{j-k} - \sum\limits_{2\mid j, j=2}^{i-1}\binom{i-k}{j-k})\)。同样的,根据组合数的常识,\(\sum\limits_{2\not\mid j, j=k}^{i-1} \binom{i-k}{j-k} - \sum\limits_{2\mid j, j=2}^{i-1}\binom{i-k}{j-k}\) 这个东西只有在 \(i-k=0\) 时才为 \(1\),否则为 \(0\)。
应用1
常用的应用比如说:有 \(n\) 个变量,每个变量出现的概率为 \(p\)。问每一个变量都出现的期望时间。
不妨设每一个变量出现的时间为 \(t_i\),那么全部出现的概率可以表示为 \(t\) 的最大值。至少出现一个就是 \(t\) 的最小值。
那么根据 MinMax 容斥的一般形式:
同时,根据期望的线性性质,我们也有:
而 \(E(\min(T))\) 显然很好求解。(显然是 \(\frac 1p\) 对吧
所以这个问题就解决了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· 为DeepSeek添加本地知识库
· 精选4款基于.NET开源、功能强大的通讯调试工具
· DeepSeek智能编程
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~