首页 > 其他分享 >Min-Max 容斥学习笔记

Min-Max 容斥学习笔记

时间:2024-08-01 21:07:14浏览次数:14  
标签:Min Max sum 元素 容斥 choose text

\(\text{Min-Max}\) 容斥学习笔记

概念

\(\text{Min-Max}\) 容斥,又称最值反演,是一种对于特定集合,在已知最小值或最大值中一者的情况下,求另一种的算法。首先观察几个式子:

\[\max(a)=a\\ \max(a,b)=a+b-\min(a,b)\\ \max(a,b,c)=a+b+c-\min(a,b)-\min(b,c)-\min(a,c)+\min(a,b,c) \]

显然对所有数取相反数,易知用最大值求最小值的公式与用最小值求最大值的公式形式相同,故以下只探讨用最小值求最大值。通过观察可以写出以下式子

\[\text{Max}(S)=\sum_{T\subset S,T\ne \varnothing}(-1)^{|T|-1}\text{Min}(T) \]

其中 \(\text{Max}(S)\) 表示集合 \(S\) 中元素的最大值,\(\text{Min}(S)\) 表示集合 \(S\) 中元素的最小值。

证明

设存在一个以集合大小为自变量的函数 \(f\) 满足 \(\text{Max}(S)=\sum_{T\subset S,T\ne\varnothing}f(|T|)\text{Min}(T)\),并记 \(S\) 中元素从大到小排列为 \(x_1,x_2,\cdots,x_m\),则对于 \(x_i\),其在左侧的贡献次数为 \([i=1]\),在右侧的贡献次数为 \(\sum_{j=0}^{i-1}{i-1\choose j}f(j+1)\)。若等式成立,则必有

\[[i=1]=\sum_{j=0}^{i-1}{i-1\choose j}f(j+1) \]

设 \(F(i)=[i+1=1],G(i)=f(i+1)\),则

\[F(i)=\sum_{j=0}^{i}{i\choose j}G(j) \]

对这个式子进行二项式反演,得到

\[G(i)=\sum_{j=0}^{i}(-1)^{i-j}{i\choose j}F(j)=(-1)^i \]

所以 \(f(i)=G(i-1)=(-1)^{i-1}\),于是有

\[\text{Max}(S)=\sum_{T\subset S,T\ne \varnothing}(-1)^{|T|-1}\text{Min}(T) \]

拓展

记 \(k\text{Max}(S)\) 表示集合 \(S\) 的 \(k\) 大值,则

\[k\text{Max}(S)=\sum_{T\sub S,|T|\ge k}(-1)^{|T|-k}{|T|-1\choose k-1}\text{Min}(T) \]

证明

设存在一个以集合大小为自变量的函数 \(g\) 满足 \(k\text{Max}(S)=\sum_{T\sub S,T\ne\varnothing}g(|T|)\text{Min}(T)\),并记 \(S\) 中元素从大到小排列为 \(x_1,x_2,\cdots,x_m\),则对于 \(x_i\),其在左侧的贡献次数为 \([i=k]\),在右侧的贡献次数为 \(\sum_{j=0}^{i-1}{i-1\choose j}g(j+1)\),若等式成立,则必有

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

设 \(F(i)=[i+1=k],G(i)=g(i+1)\),则

\[F(i)=\sum_{j=0}^{i}{i\choose j}G(i) \]

进行二项式反演可得

\[G(i)=\sum_{j=0}^{i}(-1)^{i-j}{i\choose j}F(j)=(-1)^{i-k+1}{i\choose k-1} \]

故 \(g(i)=G(i-1)=(-1)^{i-k}{i-1\choose k-1}\),于是有

\[k\text{Max}(S)=\sum_{T\sub S,|T|\ge k}(-1)^{|T|-k}{|T|-1\choose k-1}\text{Min}(T) \]

应用

\(\text{Min-Max}\) 容斥常见于期望问题,具体表现为所有元素均出现的期望时间。记 \(t_i\) 表示第 \(i\) 个元素的出现时间,则 \(\text{Max}(S)\) 表示所有元素出现时间的最大值,即所有元素都出现的时间,而 \(\text{Min}(S)\) 表示所有元素出现时间的最小值,即至少一个元素出现的时间。根据 \(\text{Min-Max}\) 容斥,有

\[\text{Max}(S)=\sum_{T\sub S,T\ne\varnothing}(-1)^{|T|-1}\text{Min}(T) \]

对左右两边同时取期望,因为期望是线性的,所有可以放到求和里,即

\[E(\text{Max}(S))=\sum_{T\sub S,T\ne\varnothing}(-1)^{|T|-1}E(\text{Min}(T)) \]

容易发现 \(E(\text{Min}(T))\) 是好求的,当单位时间出现 \(T\) 中至少一个的概率为 \(p\),则出现 \(T\) 中至少一个的期望时间为 \(\frac{1}{p}\)。于是容易求出 \(E(\text{Max}(S))\),即所有元素都出现的期望时间。

标签:Min,Max,sum,元素,容斥,choose,text
From: https://www.cnblogs.com/DycBlog/p/18337548

相关文章

  • 昇思MindSpore 应用学习-基于 MindSpore 实现 BERT 对话情绪识别
    基于MindSpore实现BERT对话情绪识别模型简介BERT全称是来自变换器的双向编码器表征量(BidirectionalEncoderRepresentationsfromTransformers),它是Google于2018年末开发并发布的一种新型语言模型。与BERT模型相似的预训练语言模型例如问答、命名实体识别、自然语言......
  • 自定义Django后台admin
    Django后台自定义一、AdminSite1、AdminSite属性AdminSite属性属性描述site_header管理页面顶部的文字,默认是‘Django管理’site_title<title>末尾放置的文字site_url‘查看网站’链接的urlindex_title管理索引页顶部的文字index_template自定义主要......
  • ESP32 使用MAX98357 播放MP3
    使用ESP32和MAX98357音频放大器芯片来播放音乐,效果令人惊叹! 【ESP32开发指南】   首先使用ESP32板和MAX98357芯片进行了简单的接线,下载了ArduinoI2S的库,然后用ArduinoIDE并编写了一些简单的代码来实现音乐播放。当我们启动程序并播放这首歌时,我们听到了一个令人惊叹的......
  • 使用 Python 生产者和消费者在 Kubernetes minikube 上设置 Kafka Kraft
    我正在尝试从kubernetes集群外部连接到kubernetesminikubekafkapod。服务器启动没有任何问题,但我无法设法将本地kafka生产者/消费者连接到外部kafkapod。在集群内的kafka服务器映像上,我将bootstrap-server设置为:bin/kafka-topics.sh--create--bootst......
  • 安装 MinGW-w64
    MinGW-w64是MinGW项目的64位版本。MinGW(MinimalistGNUforWindows)是GCC编译套件和GNUBinutils移植到Windows下的产物。简单理解,它就是Windows平台上的GCC。由于MinGW-w64MingW-W64-buildsWhatisthedifferencebetweenMinGW,MinGW-w64andMinGW-builds?......
  • LeetCode | 209 MinimumSizeSubarraySum
    分析本题中是找与target相符的最小连续的子数组和,找一个能够容纳target这么大的最小子区间。虽然本节引入了滑动窗口的概念,可我更偏好于,这是一只毛毛虫在数组上的移动,找到最小的容纳自己位置的地方target可看作毛虫本身的重量,数组中的每个元素值表示可承受的重量,right右指针看......
  • 每日一题——A - Max/Min AtCoder - abc356_e
    1.题目大意:枚举两个数的Max/Min向下取整之和。2.思路:一开始并没有想时间复杂度问题发现通过sort()排序来遍历每个最小值Min和后面最大值的和就是题目答案。你会发现仍然有问题,那就是取整的问题你就必须要优化然后发现很明显超时了。现在我们来换一个角度思考。搭配前缀和嘛。为......
  • 解锁开发新纪元:GPT-4o mini的实战探索与效率革命
    ......
  • 项目管理如何选型:类似Redmine系统全指南
    国内外主流的10款类似redmine项目管理系统对比:PingCode、Worktile、TAPD、OpenProj、禅道(ZenTao)、Teambition、JIRA、Asana、Basecamp、Wrike。在项目管理领域,选择一个既能满足需求又易于操作的工具是每个团队都面临的挑战。尽管Redmine因其开源和灵活性而广受欢迎,但市场上还有......
  • 理解 Unix/Linux 中的 Terminal、Shell、TTY 和 Console
    文章目录1Terminal1.1传统意义上的Terminal1.2现代的Terminal2TTY2.1TTY的起源2.2Linux中的TTY2.3虚拟终端2.3.1虚拟终端为什么是虚拟的?2.4伪终端2.4.1伪终端的组成2.4.2伪终端的工作原理2.4.3伪终端的应用3Console3.1Console的定义3.2Linux中......