说实话这些博客早晚都要整理后上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. shell编程—变量(三)

    在shell脚本中,变量分两种,系统变量和自定义变量. 系统默认变量是系统自带的一些变量,如path为路径变量 用户自定义变量为在编写吧脚本的时候自己定义的一些变量 变量名命名规则 首个字符必须为字母 ...

  2. spring applicationContext.xml最全约束

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. CentOS7中启动Tomcat后,8080端口不能被外部访问的解决办法。

    运行:/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

  4. MySQL Host is blocked because of many connection errors 解决方法

    应用日志提示错误:create connection error, url: jdbc:mysql://10.45.236.235:3306/db_wang?useUnicode=true&c ...

  5. c/c++ 重载new,delete运算符 placement new

    重载new,delete运算符 new,delete在c++中也被归为运算符,所以可以重载它们. new的行为: 先开辟内存空间 再调用类的构造函数 开辟内存空间的部分,可以被重载. delete的行 ...

  6. 通过jquery隐藏和显示元素

    通过jquery隐藏和显示元素 调用jquery本身提供的函数 $("xxx").hide();//隐藏xxx $("xxx").show();//显示xxx ...

  7. Python取整函数

    ceil() 向上取整 返回数字的上入整数,如ceil(4.1) 返回 5 ceil()接受的参数必须是数字类型,可以是True或者False,True(代表1),False(代表0),我试了ceil ...

  8. JavaScript的基本包装类型_String类型

    String类型概述 String在底层字符串是以字符数组的形式保存的 var str = "Hello"; // 在底层其实就是['H','e','l','l','o'] 字符串 ...

  9. Python中的Numpy入门教程

    1.Numpy是什么 很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过nu ...

  10. 选择数据库管理系统(DBMS)时主要考虑的因素

    选择数据库管理系统时应从以下几个方面予以考虑: (1) 构造数据库的难易程度. 需要分析数据库管理系统有没有范式的要求,即是否必须按照系统所规定的数据模型分析现实世界,建立相应的模型:数据库管理语句是 ...