知识点简单总结——minmax容斥

minmax容斥

好像也有个叫法叫最值反演?

就是这样的一个柿子:

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

用 $ Max $ 来求 $ Min $ 也一样可行。

证明不太难,所以干脆咕了,随便找个证明

应用

由于期望的线性性,以上公式对于每个元素的期望也是成立的,

可以写作 $ E( max(S) ) = \sum\limits_{T \subseteq S} E( min(T) ) $ 。

这个是比较有用的,因为很明显 $ E( max(S) ) \ne max( E(S) ) $ ,这个是不容易轻易用正常方法求出的。

例题

[HAOI2015]按位或

要求求出 $ E( max(U) ) $ 。

很明显求不出来所以考虑改求 $ E( min(S) ) $ 。

考虑有 $ P( min(T) == k ) = P( S \oplus U ) ^ {k-1} ( 1 - P( S \oplus U ) ) $ 。

几何分布,很容易得出 $ E( min(S) ) = \frac{ 1 }{ 1 - P'( S \oplus U )} $ ,其中 $ P'(S) = \sum\limits_{T \subseteq S} P(T) $ 。

$ FWT $ 变换一下即可出解,注意特判 $ \le eps $ 。

[PKUWC2018]随机游走

依然改求 $ E( min(S) ) $ 。

也就是求经过某个集合中至少一个点时的期望步数。

设 $ f_{S,x} $ 为从 $ x $ 出发,到达 $ S $ 中某个点时的期望步数,很明显 $ E( min(S) ) = f_{S,root} $ 。

\[f_{S,x} = \frac{ f_{ S,fa_{ x } } + \sum\limits_{ y \in son_{ x } } f_{ S,y } }{ deg_{ x } } + 1
\]

为了分离父亲对其贡献,考虑转化成 $ f_{S,x} = A_{x} * f_{ S , fa_{ x } } +B_{x} $ 。

解完之后发现与父亲的值无关,可以直接树形dp。

然后直接minmax容斥就完事了。

扩展minmax容斥

\[\max\limits_{k}(S) = \sum\limits_{ T \subseteq S } min(T) \times (-1)^{|T|-k} \times \binom{|T|-1}{k-1}
\]

$ \max\limits_{k}(S) $ 表示第 $ k $ 大。

证明需要用到二项式定理,也咕了。

依然对期望成立。

例题

重返现世

注意到 $ |n-k| \le 10 $ 。

很明显答案要求 $ E(\min\limits_{k}(U)) $ ,等效于 $ E(\max\limits_{n-k+1}(U)) $ 。

那么求 $ E(min(S)) $ 就好。

问题来了。

$ n \le 1000 $ ,不能直接做。

但是 $ m \le 10000 $ ,可以从这里下手设计dp。

然后再往下的我不会了。

很明显 $ E(min(S)) = \frac{1}{ \sum\limits_{i \in S} p_{i} } $ 。

考虑用dp统计对于每个 $ \sum\limits_{i \in S} p_{i} $ 的值的系数和。

具体的dp设计它咕了。

知识点简单总结——minmax容斥的更多相关文章

  1. 按位或:多项式,FWT,min-max容斥

    Description: 刚开始你有一个数字0,每一秒钟你会随机选择一个$[0,2^n)$的数字,与你手上的数字进行或(C++, C 的 |, Pascal 的 or)操作. 选择数字i的概率是$p_ ...

  2. 【Luogu4707】重返现世(min-max容斥)

    [Luogu4707]重返现世(min-max容斥) 题面 洛谷 求全集的\(k-max\)的期望 题解 \(min-max\)容斥的证明不难,只需要把所有元素排序之后考虑组合数的贡献,容斥系数先设出 ...

  3. HDU - 4336:Card Collector(min-max容斥求期望)

    In your childhood, do you crazy for collecting the beautiful cards in the snacks? They said that, fo ...

  4. hdu 4336 Card Collector —— Min-Max 容斥

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4336 bzoj 4036 的简单版,Min-Max 容斥即可. 代码如下: #include<cst ...

  5. Min-Max 容斥的证明

    这里有 Min-Max 容斥的证明以及唯一一道博主做过的例题... 上个结论: \[Min\{S\}=\sum_{T\subseteq S,T\not=\varnothing}(-1)^{|T|-1} ...

  6. 容斥原理+补集转化+MinMax容斥

    容斥原理的思想大家都应该挺熟悉的,然后补集转化其实就是容斥原理的一种应用. 一篇讲容斥的博文https://www.cnblogs.com/gzy-cjoier/p/9686787.html 当我们遇 ...

  7. UOJ 422 [集训队作业2018] 小Z的礼物 min-max容斥 期望 轮廓线dp

    LINK:小Z的礼物 太精髓了 我重学了一遍min-max容斥 重写了一遍按位或才写这道题的. 还是期望多少时间可以全部集齐. 相当于求出 \(E(max(S))\)表示最后一个出现的期望时间. 根据 ...

  8. 洛谷 P4707 - 重返现世(扩展 Min-Max 容斥+背包)

    题面传送门 首先看到这种求形如 \(E(\max(T))\) 的期望题,可以套路地想到 Min-Max 容斥 \(\max(S)=\sum\limits_{T\subseteq S}(-1)^{|T| ...

  9. [模板] 容斥原理: 二项式反演 / 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 ...

随机推荐

  1. Jenkins项目迁移JOB

    Jenkins项目迁移JOB:从旧的迁移到新的Jenkins上 北京介绍 今天由于迁移Jenkins服务器,需要完全拷贝Jenkins里的Job. 经实验,直接在服务器上移动Jobs目录下的文件即可. ...

  2. scrapy爬取《坏蛋是怎样练成的4》

    scrapy具体介绍就不用说了,自己百度一下.或者参考以下文档 https://blog.csdn.net/u011054333/article/details/70165401 直接在cmd里运行 ...

  3. 图解AI数学基础 | 线性代数与矩阵论

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/83 本文地址:http://www.showmeai.tech/article-det ...

  4. 1. 堪比JMeter的.Net压测工具 - Crank 入门篇

    目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...

  5. pytest--pytest基本介绍

    pytest简介 pytest 是 python 的第三方单元测试框架,比自带的 unittest 更简洁和高 效,同时兼容 unittest 框架.它还有如下优点: 1.简单灵活,容易上手,文档丰富 ...

  6. [Python]从哪里开始学习写代码(未完待续)

    预警:这只是我在学习中的一点感受,可能并不完全准确,也不包括面向对象编程的思想(我还不太懂),也有水文的嫌疑,大佬请温和批评指正或者绕道. 计算机语言 语言,是用来交流的.计算机是不能直接听懂人的语言 ...

  7. Clickhouse 分布式表&本地表

    CK 分布式表和本地表 ck的表分为两种: 分布式表 一个逻辑上的表, 可以理解为数据库中的视图, 一般查询都查询分布式表. 分布式表引擎会将我们的查询请求路由本地表进行查询, 然后进行汇总最终返回给 ...

  8. 使用ODBC连接MySQL和EXCEL

    1.安装ODBC 安装MySQL的时候,可以直接把ODBC一并安装了.如果没有安装的话,则在 https://dev.mysql.com/downloads/connector/odbc/ 下载相应的 ...

  9. django-admin常用总结

    django-admin常用总结 1.modelAdmin 1.1 list_display:显示列表. 1.2 search_fields:可被搜索的字段. 1.3 list_per_page:显示 ...

  10. JZ-022-从上往下打印二叉树

    从上往下打印二叉树 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 题目链接: 从上往下打印二叉树 代码 import java.util.ArrayList; import jav ...