min-max 容斥(最值反演)学习笔记
min-max 容斥,又名最值反演(我其实更喜欢后面这个名字),是一种常用的反演思想。
引入
在皇后游戏一题中,我们曾经证明过 \(\max(a,b)-a-b=-\min(a,b)\)。
我们尝试推广亿下下这个式子,就会得到两条反演公式:
\]
\]
这就是最值反演公式了。
证明
假如我们将集合 \(S\) 升序排序后的数组称为 \(a\),那么容易发现有:
\]
\]
假如我们将集合 \(S\) 降序排序后的数组称为 \(b\),那么容易发现有:
\]
\]
由此最值反演公式得证。
拓展
我们再尝试推广亿下下最值反演公式,得到:
\]
\]
其中 \(\max(S)_k,\min(S)_k\) 表示第 \(k\) 大值和第 \(k\) 小值。
同样考虑将集合 \(S\) 升序、降序排序,得到 \(a,b\),则有:
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
变形
最值反演最经典的应用莫过于期望了。
若 \(S\) 集合表示所有元素的出现时间,那么 \(\max(S)\) 就相当于出现最晚的元素出现的时间。由于 \(E(i)E(j)=E(ij),E(i)+E(j)=E(i+j)\) 等期望的优良性质,所以容易证明:
\]
这个公式在许多不易求出最长期望时间的问题中有着拔群的效果。
另外一个相当经典的应用是 \(\operatorname{lcm}\) 和 \(\gcd\) 之间的关系,具体证明可以看这个题解的引理四,这里不再做详细证明。
min-max 容斥(最值反演)学习笔记的更多相关文章
- [HDU4336]Card Collector(min-max容斥,最值反演)
Card Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- min-max容斥/最值反演及其推广
设\(S\)是一个集合,\(\max(S)\)和\(\min(S)\)分别表示集合中的最大值与最小值. 那么有如下式子成立: \[\max(S)=\sum_{T \subseteq S}(-1)^{| ...
- HDU 1695 GCD 欧拉函数+容斥定理 || 莫比乌斯反演
GCD Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- BZOJ 2005 [Noi2010]能量采集 (数学+容斥 或 莫比乌斯反演)
2005: [Noi2010]能量采集 Time Limit: 10 Sec Memory Limit: 552 MBSubmit: 4493 Solved: 2695[Submit][Statu ...
- BZoj 2301 Problem b(容斥定理+莫比乌斯反演)
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 7732 Solved: 3750 [Submi ...
- 【容斥原理,莫比乌斯反演】用容斥替代莫比乌斯反演第二种形式解决gcd统计问题
名字虽然很长.但是其实很简单,对于这一类问题基本上就是看你能不能把统计的公式搞出来(这时候需要一个会推公式的队友) 来源于某次cf的一道题,盼望上紫的我让潘学姐帮我代打一道题,她看了看跟我说了题解,用 ...
- hdu1695(容斥 or 莫比乌斯反演)
刚开始看题,想了一会想到了一种容斥的做法.复杂度O( n(3/2) )但是因为题目上说有3000组测试数据,然后吓尿.完全不敢写. 然后想别的方法. 唉,最近精神有点问题,昨天从打完bc开始想到1点多 ...
- ZOJ 3868 GCD Expectation (容斥+莫比乌斯反演)
GCD Expectation Time Limit: 4 Seconds Memory Limit: 262144 KB Edward has a set of n integers {a1 ...
- LOJ3119 CTS2019 随机立方体 概率、容斥、二项式反演
传送门 为了方便我们设\(N\)是\(N,M,L\)中的最小值,某一个位置\((x,y,z)\)所控制的位置为集合\(\{(a,b,c) \mid a = x \text{或} b = y \text ...
- 【CF900D】Unusual Sequences 容斥(莫比乌斯反演)
[CF900D]Unusual Sequences 题意:定义正整数序列$a_1,a_2...a_n$是合法的,当且仅当$gcd(a_1,a_2...a_n)=x$且$a_1+a_2+...+a_n= ...
随机推荐
- [双体系练习]Java基础易错点
toCharArray()和split()的区别. toCharArray() 这个方法将一个字符串转换成一个字符数组.每个字符都会成为数组中的一个元素. 返回值:一个包含字符串中所有字符的char数 ...
- 离线yum安装k8s(直接yum安装k8s)快速部署
问题:如何在没有离线环境上服务器yum安装k8s环境? 环境:准备一台互联网的服务器+离线的服务器 写的比较简便........ 1.互联网服务操作添加阿里云YUM的软件源 cat > /etc ...
- mybatis-plus多表联合分页查询
1.entity层要写个Vo实体类 2.controller @AutoLog(value = "员工CURD-分页列表查询")@ApiOperation(value=" ...
- WxPython跨平台开发框架之模块字段权限的管理
在我的很多Winform开发项目中,统一采用了权限管理模块来进行各种权限的控制,包括常规的功能权限(工具栏.按钮.菜单权限),另外还可以进行字段级别的字段权限控制,字段权限是我们在一些对权限要求比较严 ...
- MTK8766 LK GPIO初始化状态设置分析
问题来源是M.2 Dongle的LED灯在kernel起来之前就亮了,kernel起来之后又初始化成熄灭状态.通过排查硬件规格书.GPIO表格,大概判定是前期软件初始化不正确造成的.通过观察串口打印的 ...
- WSL设置中文、修改默认Root登陆、添加右键菜单
1.设置中文 首先安装 aptitude 管理工具 #apt-get install aptitude 然后安装语言环境并进入语言环境设置. #aptitude install locales #dp ...
- Solution Set -「NOIP Simu.」20221024
\(\mathscr{A}\sim\) 断 给定一棵含有 \(n\) 个点的树, 所有点初始时为白色. 再给出 \(m\) 个形如 \((u,v)\) 的点对, 要求 \(u\) 到 \(v\) ...
- python语法第二篇
练习:输入一个长字符串,判断其中数字的个数. # 输入一个长字符串,判断其中数字的个数. s1 = input("请输入一个包含字母和数字的字符串:") # wdqwddwq78d ...
- WPF 设置Button的content为多行模式
查找button的子元素是个TextBlock,再设置它的TextWrappingProperty属性为 TextWrapping.Wrap. Button btn2 = new Button() { ...
- C# Linq 去重
static void Main(string[] args) { var list = new List<roleJson>() { new roleJson(){ Id=1,RoleN ...