说实话这些博客早晚都要整理后上m***999。

最值反演是针对一个集合中最大/最小值的反演。
\[
\max\{S\}=\sum_{T\subset S}(-1)^{|T|+1}\min\{T\}
\]
\[
\min\{S\}=\sum_{T\subset S}(-1)^{|T|+1}\max\{T\}
\]

如{1,2,3,4}的最大值=1+2+3+4-1-1-1-2-2-3+1+1+1+2-1=4。

求LCM

将每个数\(a_i\)分解为\(\prod_{p_j=prime[i][]} p_j^{k_j}​\)。则LCM就是求每个质因数中指数的最大值之积,而GCD是每个质因数中的指数的最小值之积。因此由最值反演可得
\[
\rm{lcm}\{S\}=\prod_{T\subset S}(\gcd\{T\})^{(-1)^{|T|+1}}
\]

求期望

对原式套一个期望,就有该式子的期望形式:
\[
\mathbb{E}[\max\{S\}]=\sum_{T\subset S}(-1)^{|T|+1}\mathbb{E}[\min\{T\}]
\]

例题

给定集合\(S\)中每个元素出现的概率\(p_i\),其和为\(1\),每次会按概率出现一个元素。求每个元素都至少出现一次的期望次数。

可用状压DP解决,复杂度\(O(2^n\cdot n)\)。

考虑定义集合\(T\)中元素的比较运算为最早出现时间更早。则\(\mathbb{E}[\min\{T\}]\)的意义为\(T\)中出现任意一个元素的期望次数。因为每次只能出现一个数,出现任意一个数的概率显然就是集合中所有概率的和。因此这个期望等于\(\frac{1}{\sum_{i\in T}p_i}\)。最后答案即为\(\mathbb{E}[\max\{S\}]\),用上面的反演即可,时间复杂度为\(O(2^n)\)。

给定集合\(S\)中每个元素每次出现的概率\(p_i\),元素互相独立。求每个元素都至少出现一次的期望次数。

此时\(T\)中出现任意一个元素的概率是\(1\)减去所有元素都不出现的概率。

最值反演 min-max容斥的更多相关文章

  1. Coprime (单色三角形+莫比乌斯反演(数论容斥))

    这道题,先说一下单色三角形吧,推荐一篇noip的论文<国家集训队2003论文集许智磊> 链接:https://wenku.baidu.com/view/e87725c52cc58bd631 ...

  2. BZOJ2301:莫比乌斯反演+二维容斥解决GCD范围计数

    这个题是刚才刷的第一道反演题的拓展版,加上一个容斥就可以了 #include<cstdio> #include<algorithm> using std::min; ; int ...

  3. 【容斥原理,莫比乌斯反演】用容斥替代莫比乌斯反演第二种形式解决gcd统计问题

    名字虽然很长.但是其实很简单,对于这一类问题基本上就是看你能不能把统计的公式搞出来(这时候需要一个会推公式的队友) 来源于某次cf的一道题,盼望上紫的我让潘学姐帮我代打一道题,她看了看跟我说了题解,用 ...

  4. LOJ #2542. 「PKUWC 2018」随机游走(最值反演 + 树上期望dp + FMT)

    写在这道题前面 : 网上的一些题解都不讲那个系数是怎么推得真的不良心 TAT (不是每个人都有那么厉害啊 , 我好菜啊) 而且 LOJ 过的代码千篇一律 ... 那个系数根本看不出来是什么啊 TAT ...

  5. min-max 容斥

    $\min - \max$ 容斥 Part 1 对于简单的$\min - \max$容斥有一般形式,表达为:$\max(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-1 ...

  6. Min-max 容斥与 kth 容斥

    期望的线性性: \[E(x+y)=E(x)+E(y) \] 证明: \[E(x+y)=\sum_i \sum_j(i+j)*P(i=x,j=y) \] \[=\sum_i\sum_ji*P(i=x,j ...

  7. [HDU4336]Card Collector(min-max容斥,最值反演)

    Card Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  8. CF285 E Positions in Permutations——“恰好->大于”的容斥和允许“随意放”的dp

    题目:http://codeforces.com/contest/285/problem/E 是2018.7.31的一场考试的题,当时没做出来. 题解:http://www.cnblogs.com/y ...

  9. min-max容斥/最值反演及其推广

    设\(S\)是一个集合,\(\max(S)\)和\(\min(S)\)分别表示集合中的最大值与最小值. 那么有如下式子成立: \[\max(S)=\sum_{T \subseteq S}(-1)^{| ...

随机推荐

  1. Windows Server 2016-Active Directory复制概念(一)

    停更十余天后,从今天开始继续为大家带来Windows Server 2016 Active Directory系列更新,本章为大家介绍有关Active Directory复制相关概念内容,有关Acti ...

  2. Python3 Selenium多窗口切换

    Python3 Selenium多窗口切换 以腾讯网(http://www.qq.com/)为例,打开腾讯网,点击新闻,打开腾讯新闻,点击新闻中第一个新闻链接. 在WebDriver中封装了获取当前窗 ...

  3. February 23rd, 2018 Week 8th Friday

    It takes a strong man to save himself, and a great man to save another. 强者自救,圣者渡人. When you are not ...

  4. 怎样用命令行开启或关闭Windows服务

    怎样用命令行开启或关闭Windows服务 本篇博客主要包含一个内容: 怎样用命令行开启或关闭Windows服务 闲话少叙,直奔主题. 1.在桌面右击新建一个文本文档,然后打开. 2.找到需要开启或关闭 ...

  5. ID 生成器

    using System; using System.Diagnostics; using System.Net; using System.Net.Sockets; using System.Thr ...

  6. 《生命》第三集:Mammals (哺乳动物)

    南极零下四十度的情况下,威德尔海豹能深潜到冰下捕食,并且教自己的小宝宝如何下水,看了这个才知道,海豹居然是哺乳动物,小海豹看着挺萌的. 长鼻鼩是一种很活跃的生物,而且会自己设计路线,建立迷宫,帮助自己 ...

  7. python 基础操作--数据类型

    一.变量 1.定义:将运算的中间结果暂存到内存,以便后续程序调用. 2.命名规则 1.变量由字母.数字.下划线搭配组合而成: 2.不可以用数字开头,也不能全都是数字: 3.不能是python 关键字, ...

  8. IE在开发工具启动的情况下(打开F12)时 JS才能执行

    在开发一个项目时遇到一个bug:在360急速浏览器的兼容模式下并且是线上环境时js无法执行(360急速浏览器的兼容模式下测试环境就ok), 打开f12以后刷新就没问题了,查了一下网上说的IE6/7是没 ...

  9. node.js—Buffer类(二进制数据处理模块)

    Buffer类概述 一个用于更好的操作二进制数据的类 我们在操作文件或者网络数据的时候,其实操作的就是二进制数据流 Node为我们提供了一个更加方便的去操作这种数据流的类 Buffer,他是一个全局的 ...

  10. B - 畅通工程再续 最小生成树

    相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全 ...