说实话这些博客早晚都要整理后上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. vue2 学习笔记2

    文中例子代码请参考github 品牌管理案例 添加新品牌 <body> <div id="app"> <div class="panel p ...

  2. SQLServer2016 AlwaysOn AG基于工作组的搭建笔记

    最近搭建了一套SQLServer2016 AlwaysOn AG. (后记:经实际测试,使用SQLServer2012 也同样可以在Winserver2016上搭建基于工作组的AlwaysOn AG, ...

  3. Sql查询今天、本周和本月的记录(时间字段为时间戳)

    工作中遇到的问题,小结一下 查询今日添加的记录: select * from [表名] where datediff(day,CONVERT(VARCHAR(20),DATEADD(SECOND,[时 ...

  4. hive笔记:时间格式的统一

    一.string类型,年月日部分包含的时间统一格式: 原数据格式(时间字段为string类型) 取数时间和格式的语法  2018-11-01 00:12:49.0 substr(regexp_repl ...

  5. shell的case用法

    今天给大家简单介绍一下结构条件语句的用法,实际上就是规范的多分支if语句,如下: case语法: case "字符串变量" in 值1)指令1... ;; 值2)指令2... ;; ...

  6. js在前端json字符串和对象互相转化

    js在前端json字符串和对象互相转化 //对象转json串 注意:参数必须是对象,数组不起作用,对象格式{'0'=>'a'} JSON.stringify( arr ); //json字符串转 ...

  7. IIS 发布ASP.NET MVC 4.0 错误500.21解决办法

    由VS2013 写好的MVC 4.0 发布在服务器IIS 上报错500.21,解决办法:尝试多种网上介绍的办法,最后发现还是模块问题.

  8. Java 7 for Absolute Beginners/Java 7基础教程--代码纠错

    中文版书中的问题代码记录: 只记录了P213后面的错误代码,如果后面发现P213页前面的错误代码,会继续补齐.但我提供的代码都是可以正常运行的,如果有使用者发现中文版书中其他的错误代码请告诉我,方便我 ...

  9. ORC Creation Best Practices

    Short Description: ORC Creation Best Practices with examples and references. Article Synopsis. ORC i ...

  10. JavaScript—Date对象详情

    Date对象概述 javaScript 提供了 Date 类型来处理时间和日期.Date 对象内置一系列获取和设置日期时间信息的方法.(不是内置对象,需要自己new) javaScript 中的 Da ...