基本形式

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

证明

不提供数学证明。

简要讲一下抽象理解伪证:

考虑从大到小排名为 \(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

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

显然。

推广

令 \(\max_k(S)\) 表示 \(S\) 中的第 \(k\) 大的值。


\[
\max\ _{k}(S) = \sum_{T\subseteq S, |T| \geq k} (-1)^{|T|-k}\binom {|T|-1}{k-1} \min(T)
\]

证明

类似于基本形式。

因为 \(|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​ 容斥的一般形式:
\[
\max(S) = \sum_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}\min(T)
\]
同时,根据期望的线性性质,我们也有:
\[
E(\max(S)) = \sum_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}E(\min(T))
\]
而 \(E(\min(T))\) 显然很好求解。(显然是 \(\frac 1p\) 对吧

所以这个问题就解决了。

题目

HDU - 4336 Card Collector 题解

bzoj4036 [HAOI2015]按位或 题解

P4707 重返现世 题解

loj2542 「PKUWC2018」随机游走 题解

MinMax 容斥 学习笔记的更多相关文章

  1. min-max容斥学习笔记

    min-max容斥学习笔记 前置知识 二项式反演 \[ f(n)=\sum_{i=0}^n\binom{n}{i}g(i)\Leftrightarrow g(n)=\sum_{i=0}^n(-1)^{ ...

  2. [总结] Min-Max容斥学习笔记

    min-max 容斥 给定集合 \(S\) ,设 \(\max(S)\) 为 \(S\) 中的最大值,\(\min(S)\) 为 \(S\) 中的最小值,则: \[\max(S)=\sum_{T\in ...

  3. [模板] 容斥原理: 二项式反演 / Stirling 反演 / min-max 容斥 / 子集反演 / 莫比乌斯反演

    //待更qwq 反演原理 二项式反演 若 \[g_i=\sum_{j=1}^i {\binom ij} f_j\] , 则有 \[ f_i=\sum_{j=1}^i (-1)^{i-j} {i \ch ...

  4. [学习笔记]min-max容斥

    [Learning]min-max容斥以及推广 min-max容斥 就是max(a,b)=min(a)+min(b)-min(a,b) max(a,b,c)=a+b+c-min(a,b)-min(a, ...

  5. 【学习笔记】Min-max 容斥

    经常和概率期望题相结合. 对于全序集合 \(S\),有: \[\max S=\sum\limits_{T\subseteq S,T\not=\varnothing}(-1)^{\vert T\vert ...

  6. UOJ#449. 【集训队作业2018】喂鸽子 min-max容斥,FFT

    原文链接www.cnblogs.com/zhouzhendong/p/UOJ449.html 题解 设 f(i) 表示给 i 只鸽子喂食使得至少一只鸽子被喂饱的期望次数,先 min-max容斥 一下. ...

  7. [UOJ422][集训队作业2018]小Z的礼物——轮廓线DP+min-max容斥

    题目链接: [集训队作业2018]小Z的礼物 题目要求的就是最后一个喜欢的物品的期望得到时间. 根据$min-max$容斥可以知道$E(max(S))=\sum\limits_{T\subseteq ...

  8. 【LOJ2542】【PKUWC 2018】随机游走 min-max容斥 树上高斯消元

    题目描述 有一棵 \(n\) 个点的树.你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(q\) 次询问,每次询问给定一个集合 \(S\),求如果从 \(x\) 出发一 ...

  9. 【LOJ#2542】[PKUWC2018]随机游走(min-max容斥,动态规划)

    [LOJ#2542][PKUWC2018]随机游走(min-max容斥,动态规划) 题面 LOJ 题解 很明显,要求的东西可以很容易的进行\(min-max\)容斥,那么转为求集合的\(min\). ...

随机推荐

  1. Oracle分组函数之Grouping Sets

    功能介绍: 自定义分组的字段 创建表: 插入测试数据: Grouping Sets(null,t.classid,(t.classid,t.studentname)),类似于ROLLUP Select ...

  2. rk3328编译Linux固件

    一.编译 Linux 固件 这一章将介绍编译 ROC-RK3328-CC Linux 固件的整个流程. 1.1 准备工作 Linux 固件在如下的环境中编译: Ubuntu 16.04 amd64 安 ...

  3. 求能粘贴Word 内容(含图片)的在线编辑器

    word图片转存,是指UEditor为了解决用户从word中复制了一篇图文混排的文章粘贴到编辑器之后,word文章中的图片数据无法显示在编辑器中,也无法提交到服务器上的问题而开发的一个操作简便的图片转 ...

  4. 20180822-Java接口

    Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...

  5. UE4 命令行打开工程

    创建快捷方式,目标填写: D:\EpicGames\4.14\Engine\Binaries\Win64\UE4Editor.exe "D:\YourProjectPath\YouProje ...

  6. PerPoly Collision(用物体本身模型做碰撞)

    打开static mesh editor,在static mesh settings里找到collision complexity选项,选择最后一项: Use Complex collision as ...

  7. Flask学习 1创建第一个页面

    #!/usr/bin/env python # encoding: utf-8 """ @version: v1.0 @author: cxa @file: hello. ...

  8. Nodejs - 交互式管理 Node.js 版本

    n - npm:Interactively Manage Your Node.js Versions. Unfortunately n is not supported on Windows. npm ...

  9. 用BP人工神经网络识别手写数字

    http://wenku.baidu.com/link?url=HQ-5tZCXBQ3uwPZQECHkMCtursKIpglboBHq416N-q2WZupkNNH3Gv4vtEHyPULezDb5 ...

  10. 04 - Jmeter4.x聚合报告,测试报告以及测试报告用法于解析

    聚合报告 添加方式 Thread Group    →    add    →    Listener    →    Aggregate Report 内容解析 lable: 指代当前Samples ...