Min-Max 容斥的证明
这里有 Min-Max 容斥的证明以及唯一一道博主做过的例题...
上个结论:
\[Min\{S\}=\sum_{T\subseteq S,T\not=\varnothing}(-1)^{|T|-1}Max\{T\} \]
\[Max\{S\}=\sum_{T\subseteq S,T\not=\varnothing}(-1)^{|T|-1}Min\{T\} \]
具体的证明其实很简单...我们考虑证明其中一个(以第一个为例),另一个可以用类似证法得到结论。咱直接考虑集合内元素不重的情况,因为相同大小我们强制规定他们之间存在大小关系就好了,并不影响结果
那么我们再把元素从小到大排个序,从前往后考虑每个值对答案的贡献...
首先第一个元素有贡献当且仅当集合里只有它一个元素,那么这样的集合只有一个,所以它的贡献有且仅有一次;
对于第二个元素,它除了自己一定要选以外,比他小的元素(这时只有第一个元素)全部可选可不选,总共有 \(2^{1}=2\) 种方案,并且集合大小为奇数和为偶数的情况各有一次,两者贡献抵消
对于后面的元素,可以用第二个元素类似的思路去想,最后我们发现除第一个元素以外的所有贡献都相互抵消了
当然咱也可以用二项式定理草率地证明一下,然后也能发现贡献相抵了,究其原因就是杨辉三角奇数列和偶数列之差为 0 ,而第一行为 1 是个特例 (因为只有一个元素)
于是乎得证...
例题:按位或
这题里面的期望满足使用 Min-Max 容斥的性质...
题解点 这里
Min-Max 容斥的证明的更多相关文章
- min-max 容斥
$\min - \max$ 容斥 Part 1 对于简单的$\min - \max$容斥有一般形式,表达为:$\max(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-1 ...
- 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 ...
- [总结] Min-Max容斥学习笔记
min-max 容斥 给定集合 \(S\) ,设 \(\max(S)\) 为 \(S\) 中的最大值,\(\min(S)\) 为 \(S\) 中的最小值,则: \[\max(S)=\sum_{T\in ...
- 【Luogu4707】重返现世(min-max容斥)
[Luogu4707]重返现世(min-max容斥) 题面 洛谷 求全集的\(k-max\)的期望 题解 \(min-max\)容斥的证明不难,只需要把所有元素排序之后考虑组合数的贡献,容斥系数先设出 ...
- UOJ 422 - 【集训队作业2018】小Z的礼物(Min-Max 容斥+轮廓线 dp)
题面传送门 本来说要找道轮廓线 \(dp\) 的题目刷刷来着的?然后就找到了这道题. 然鹅这个题给我最大的启发反而不在轮廓线 \(dp\),而在于让我新学会了一个玩意儿叫做 Min-Max 容斥. M ...
- 从 0 开始的min_max容斥证明
二项式反演 \[f_n=\sum\limits_{i=0}^nC^i_ng_i \Leftrightarrow g_n=\sum\limits_{i=0}^n{(-1)}^{n-i}f_i \] 证明 ...
- [模板] 容斥原理: 二项式反演 / 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 ...
- min-max容斥学习笔记
min-max容斥学习笔记 前置知识 二项式反演 \[ f(n)=\sum_{i=0}^n\binom{n}{i}g(i)\Leftrightarrow g(n)=\sum_{i=0}^n(-1)^{ ...
- LOJ2542 随机游走 Min-Max容斥+树上期望DP
搞了一下午 真的是啥都不会 首先这道题要用到Min-Max容斥 得到的结论是 设 $Max(S)$表示集合里最晚被访问的节点被访问的期望步数 设 $Min(S)$表示集合里最早被访问的节点被访问的期望 ...
随机推荐
- python中的文件读取
---恢复内容开始--- r模式,只读模式,不可写入,文件不存在会报错 #r模式,能读不能写,文件不存在会报错 f = open('a1.txt')#不写'r',默认只读 result = f.rea ...
- SpringApplication.run 做了哪些事?
SpringApplication.run一共做了两件事,分别是 创建SpringApplication对象 利用创建好的SpringApplication对象,调用run方法论 结论: 面试官: 我 ...
- 拨号操作——android.intent.action.CALL
button_14.setOnClickListener(new View.OnClickListener() { @Override public void onClick ...
- Redis缓存雪崩和缓存穿透等问题
穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透. 解决办法:①用一个bitma ...
- Redis、Nginx加入启动命令
1.redis加入系统启动命令 vim /etc/init.d/redis #!/bin/sh #chkconfig: 2345 80 90 # Simple Redis init.d script ...
- yii2.0 curd操作数据写法
一.执行原生sql查询,创建yii\db\Command insert(),update(),delete()直接构建,相应的sql语句 查: 1.查询一条 \Yii::$app-&g ...
- 一款基于CSS3漂亮的按钮
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- legend3---Homestead常用操作代码
legend3---Homestead常用操作代码 一.总结 一句话总结: 在虚拟机里面改变文件windows里面也会变,在windows里面改变虚拟机里面也会变,所以可以在windows里面编程或者 ...
- sensu
https://blog.csdn.net/enweitech/article/details/53763324
- 安装mysql数据库要注意的
只安装基本功能即可,以后要的话可以加 需要配置环境变量 最好不要将数据存放在c盘,默认在 C:\ProgramData\MySQL\MySQL Server 5.6 里面存放建的表和存放的数据