基本形式

\[
\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. [hadoop](1) MapReduce:ChainMapper

    前言 本章主要讲述的是对于hadoop生态系统中,MapReduce写的ChainMapper的学习.MapReduce是hadoop集群数据处理的默认框架.而对于数据集中所有的数据必然有一些不友好的 ...

  2. “美登杯”上海市高校大学生程序设计 E. 小花梨的数组 (线段树)

    https://acm.ecnu.edu.cn/contest/173/problem/E/ 分析: 考虑这样一种情况,如果对一个点连续地做几次乘操作,那么之后紧跟着的除操作只需要将乘操作的次数减少即 ...

  3. PHP-利用二叉堆实现TopK-算法

    介绍 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证内存和速度的效率,我们可能第一个想法就是利用排序,然后截 ...

  4. 获取响应状态Status信息、获取状态码Status Code

    一般服务器的响应状态有以下几种: 200 正常 400 未找到页面 403 拒绝 500 服务器错误 比如我们请求bootstrap中文网, 此时的状态码是200 OK表示正常,后面的from cac ...

  5. flutter 按键监听

    import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; void main() => ru ...

  6. JS-闭包(Closures)和let声明块级作用域变量

    闭包: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures 闭包是函数和声明该函数的词法环境的组合. let: https ...

  7. android:imeOptions="actionDone"

    把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案actionNone : 回车键,按下后光标到下一行actionSend : SendactionN ...

  8. EL表达式(三)自定义 EL 表达式

    自定义EL函数(静态方法): 编写步骤: 1.编写一个Java类,提供一个静态方法 import java.util.List; public class GetLength { public sta ...

  9. 状压DP : [USACO06NOV]玉米田

    玉米田 内存限制:128 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ ...

  10. Mac005--VS&webstorm前端开发工具安装

    Mac--Visual studio Code工具安装(企业常用) 安装网址:https://code.visualstudio.com/download 设置格式: 1.配置工作区与终端字体大小 常 ...