组合数学——Min-Max容斥
Min-Max 容斥,即 $$\max(S)=\sum_{T\in S,T\neq\emptyset}(-1)^{|T|-1}\min(T)$$
接下来证明上面那个式子是对的。定义 \(S\) 中共有 \(N\) 个元素,由大到小分别为 \(s_1,s_2,\dots,s_N\),\(T_i\) 为所有 \(S\) 大小为 \(i\) 的子集。
所有元素都大于 \(s_i\) 且大小为 \(j\) 的子集有 \(\tbinom{i-1}{j}\) 个;则最小元素为 \(s_i\) 且大小为 \(j\) 的子集,即 \(s_i\) 并上任意一个所有元素都大于 \(s_i\) 且大小为 \(j-1\) 的子集,有 \(\tbinom{i-1}{j-1}\) 个。
那么,满足 \(\min(T)=s_i\) 的 \((-1)^{|T|-1}\) 之和为 \(\sum\limits_{j=1}^{i}(-1)^{j-1}\tbinom{i-1}{j-1}\),根据二项式定理,这个东西等于 \((1+(-1))^{i-1}\) 即 \(0^{i-1}\)。除了 \(s_1\) 即最大值,其他元素的系数都为 \(0\);而 \(0^0\) 无意义,根据组合数的定义, \(s_1\) 的系数为 \(1\)(这就相当于构造了一个“开关”,只有最大值才不会被抵消)。于是得证。
在组合计数中,Min-Max 容斥有时很有用。比如有 \(N\) 种球,每次会随机抽到 \(1\) 种,求每种球都至少抽到 \(A_i\) 个的期望次数,相当于求最晚满足要求的那种球满足要求的时间,这是没有上限的。但是如果使用 Min-Max 容斥,就可以转换为每个子集最早满足要求的那种球满足要求的时间,这个东西的上限是 \(\sum{(A_i-1)}+1\),可以简单改写式子,然后合并类似状态进行 DP。
组合数学——Min-Max容斥的更多相关文章
- 【BZOJ】4767: 两双手【组合数学】【容斥】【DP】
4767: 两双手 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1057 Solved: 318[Submit][Status][Discuss] ...
- 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 ...
- 【BZOJ3294】放棋子(动态规划,容斥,组合数学)
[BZOJ3294]放棋子(动态规划,容斥,组合数学) 题面 BZOJ 洛谷 题解 如果某一行某一列被某一种颜色给占了,那么在考虑其他行的时候可以直接把这些行和这些列给丢掉. 那么我们就可以写出一个\ ...
- LOJ #2542 [PKUWC2018]随机游走 (概率期望、组合数学、子集和变换、Min-Max容斥)
很好很有趣很神仙的题! 题目链接: https://loj.ac/problem/2542 题意: 请自行阅读 题解首先我们显然要求的是几个随机变量的最大值的期望(不是期望的最大值),然后这玩意很难求 ...
- [CQOI2014]数三角形 题解(组合数学+容斥)
[CQOI2014]数三角形 题解(数论+容斥) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1328780 链接题目地址:洛谷P3166 BZOJ 350 ...
- 2015 asia xian regional F Color (容斥 + 组合数学)
2015 asia xian regional F Color (容斥 + 组合数学) 题目链接http://codeforces.com/gym/100548/attachments Descrip ...
- HDU 6397 Character Encoding (组合数学 + 容斥)
题意: 析:首先很容易可以看出来使用FFT是能够做的,但是时间上一定会TLE的,可以使用公式化简,最后能够化简到最简单的模式. 其实考虑使用组合数学,如果这个 xi 没有限制,那么就是求 x1 + x ...
- 2019.02.11 bzoj4767: 两双手(组合数学+容斥dp)
传送门 题意简述:你要从(0,0)(0,0)(0,0)走到(ex,ey)(ex,ey)(ex,ey),每次可以从(x,y)(x,y)(x,y)走到(x+ax,y+ay)(x+ax,y+ay)(x+ax ...
- 【BZOJ4559】[JLoi2016]成绩比较 动态规划+容斥+组合数学
[BZOJ4559][JLoi2016]成绩比较 Description G系共有n位同学,M门必修课.这N位同学的编号为0到N-1的整数,其中B神的编号为0号.这M门必修课编号为0到M-1的整数.一 ...
随机推荐
- java.lang.IllegalStateException: Failed to check the status of the service 的解决办法
参考资料 java.lang.IllegalStateException: Failed to check the status of the service 的解决办法_Hello_World_QW ...
- C C++内功心法-基础篇
大家好,今天给大家讲讲C C++的一些基础语法,小编整理了一些简单入门基础知识,对于我们编程也有很多的帮助. C++ cin C++中的cin是一个 istream对象,从标准输入中读取数据,在ios ...
- 第122篇: JS函数一些基本概念
好家伙,本篇为<JS高级程序设计>第十章"函数"学习笔记 1.函数的三种定义方式:函数表达式.函数声明及箭头函数 函数声明: function sum(a) { ret ...
- 【Azure 应用服务】App Servie网站报403 ModSecurity Action错误
问题描述 App Service 部署应用程序,然后通过App Gateway(WAF) 提供公网访问,但是一直遇见403报错,刷新页面,回退,重新Web页面能缓解403问题. 问题分析 通过浏览器F ...
- [linux 爬坑] 几个linux发行版尝试和令人崩溃的ssr安装体验
最近电脑上的manjaro好像出了问题,长时间不用就会死机.也懒得追究原因了,正好决定尝试几个发行版.首先尝试安装银河麒麟 这个发行版实际上就是ubuntu,甚至源什么的都是ubuntu的,也不 ...
- C#实现一个简单的日志类
目录 自定义日志类 NLog版本的日志类 Serilog版本的日志类 上个月换工作,新项目又要重新搭建基础框架,把日志实现部分单独记录下来方便以后参考. 自定义日志类 代码大部分使用ChatGPT生成 ...
- 使用ScottPlot库在.NET WinForms中快速实现大型数据集的交互式显示
前言 在.NET应用开发中数据集的交互式显示是一个非常常见的功能,如需要创建折线图.柱状图.饼图.散点图等不同类型的图表将数据呈现出来,帮助人们更好地理解数据.发现规律,并支持决策和沟通.本文我们将一 ...
- 音频信号质量的度量标准--MOS得分的由来
早期语音质量的评价方式是凭主观的,人们在打通电话之后通过人耳来感知语音质量的好坏.1996年国际ITU组织在ITU-T P.800和P.830建议书开始制订相关的评测标准:MOS(Mean Opini ...
- MySQL(视图、事务、存储过程、函数、流程控制、索引)
一 视图(了解) 什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次可以直接使用 为什么要用视图 如果要频繁的操作一张虚拟表(拼表组成的),你就可以制作成视图,后续直接操作 视图其实也是一 ...
- rust结构体包含另一个结构体引用时,serde序列化问题
代码如下 use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize)] struct Person { id: Stri ...