从 0 开始的min_max容斥证明
二项式反演
\]
证明:
容斥原理
\]
证明:显然
如果一个元素 \(p\) 被 \(m\) 个集合包含,那么 \(p\) 对于左侧的贡献是 \(1\)
对于右侧的贡献:
1-\sum\limits_{i=0}^m(-1)^{i}C^i_m\\\large=1-(1-1)^m=1
\]
二项式定理
\]
这个柿子可以理解为 ,\(n\) 个括号,每个括号选择 \(x\) 或 \(y\) ,其中 \(i\) 个选了 \(x\) ,那么其余 \(n-i\) 个必然是\(y\) ,所以 \(x^i y^{n-i}\) 的系数是 \(n\) 个括号选择 \(i\) 个的方案数,即 \(C^i_n\)
容斥原理的最后一步就是这么证明的。
接着证明二项式反演
设集合 \(A_i\) 的补集是 \(B_i\) ,全集是 \(U\), \(C_A\) 表示 \(A\) 的补集
那么\(A_1 \cup A_2\cup\cdots\cup A_n\) 的补集就是 \(B_1 \cap B_2\cap\cdots\cap B_n\) ,结合容斥原理可得
\]
\therefore |A_1 \cap A_2\cap\cdots\cap A_n|=|U|-\sum\limits_{1\le i\le n}|B_i|-\sum\limits_{1\le i<j\le n}|B_i\cap B_j|+\cdots+(-1)^{n-1}\times |B_1\cap B_2\cap \cdots \cap B_n|
\]
考虑一种特殊情况:集合的交集大小只与集合个数有关。给出一种可行的情况: \(U=\{1,2,\cdots,2n\},A_i=\{1,2,\cdots,i-1,i+1,\cdots,n,i+n\}\)
于是珂以令 \(f(i)\) 为 \(i\) 个集合补集的交集大小, \(g(i)\) 为 \(i\) 个原集的大小。
得到:
\]
令 \(h(i)=(-1)^ig(i)\) ,那么
即f_n=\sum\limits_{i=0}^nC^i_nh_i \Leftrightarrow h_n=\sum\limits_{i=0}^n{(-1)}^{n-i}C_{n}^{i}f_i
\]
Min_Max 容斥
给定集合 \(S\) ,设 \(max(S),min(S)\) 分别为 \(S\) 中的最大、最小值,那么
\]
证明:
考虑构造一个系数 \(f(i)\) 使得 \(max(S)=\sum\limits_{T\subseteq S}f(|T|)min(T)\)
不妨 \(S=\{1,2,\cdots,n\}\)
考虑通过枚举哪些集合的最小值是 \(x+1\) 计算这个第 \(x+1\) 大的数的贡献,这个那么贡献就是 \(\sum\limits_{i=0}^xC^i_xf(i+1)\)
而我们希望这个柿子只有在 \(x=0\) 的时候恰好是 \(1\) ,其余时候都是 \(0\) ,这样等式右边一加恰好是 \(S\) 的最大数,等于等式左边,则
\]
套用之前的二项式反演公式,设 \(A(x)=[x==0],B(x)=f(i+1)\)
由于 \(A(x)=\sum\limits_{i=0}^nC^i_nB(i)\)
可以得到 \(B(x)=\sum\limits_{i=0}^x(-1)^{x-i}A(i)\)
即 \(f(x+1)=\sum\limits_{i=0}^x(-1)^{x-i}[i==0]=(-1)^x\)
所以 \(f(x)=(-1)^{x+1}\)
\(max(S)=\sum\limits_{T\subseteq S}(-1)^{|T|+1}min(T)\)
证毕!
参考资料
http://blog.miskcoo.com/2015/12/inversion-magic-binomial-inversion
https://www.cnblogs.com/GXZlegend/p/11407185.html
https://blog.csdn.net/dt_kang/article/details/88805837
从 0 开始的min_max容斥证明的更多相关文章
- BZOJ4036:按位或 (min_max容斥&高维前缀和)
Description 刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行或(c++,c的|,pascal 的or)操作.选择数字i的概率是p[i].保证0&l ...
- kth min_max容斥
题解: 普通的$min-max$容斥是用来求最后出现元素的期望之类的 $kth min-max$容斥进一步解决倒数第k个出现的元素的期望 给出公式: $kthmax(S)=\sum\limits_{T ...
- How many integers can you find(容斥+dfs容斥)
How many integers can you find Time Limit: 12000/5000 MS (Java/Others) Memory Limit: 65536/32768 ...
- How Many Sets I(容斥定理)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3556 How Many Sets I Time Limit: 2 ...
- LOJ#503. 「LibreOJ β Round」ZQC 的课堂(容斥+FHQTreap)
题面 传送门 题解 首先\(x\)和\(y\)两维互相独立,可以分开考虑,我们以\(x\)为例 我们把\(x\)做个前缀和,那么就是问有多少\(i\)满足\(s_is_{i-1}<0\),其中\ ...
- Min-Max 容斥的证明
这里有 Min-Max 容斥的证明以及唯一一道博主做过的例题... 上个结论: \[Min\{S\}=\sum_{T\subseteq S,T\not=\varnothing}(-1)^{|T|-1} ...
- Xtreme9.0 - Light Gremlins 容斥
Xtreme9.0 - Light Gremlins 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenge ...
- hdu 3682 10 杭州 现场 C To Be an Dream Architect 容斥 难度:0
C - To Be an Dream Architect Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d &a ...
- 之江学院第0届校赛 qwb与支教 (容斥公式)
description qwb同时也是是之江学院的志愿者,暑期要前往周边地区支教,为了提高小学生的数学水平.她把小学生排成一排,从左至右从1开始依次往上报数. 玩完一轮后,他发现这个游戏太简单了.于是 ...
随机推荐
- Markdown语法+Typora快捷键
1. Markdown语法 1.1 代码块生成 // 对于代码块,使用"```+编程语言"即可生成书写对应代码块的区域 // JS代码块 ```javascript // Jav ...
- hadoop启动脚本
记录一下一个简单的hadoop启动脚本 就是启动zookeeper集群,hadoop的HDFS和YRAN的脚本 start-cluster.sh 关于关闭的脚本,只需要顺序换一下,然后将start改为 ...
- [LeetCode题解]21. 合并两个有序链表 | 递归
解题思路 使用递归实现: 定义函数功能:合并两个有序链表,并返回链表的头 结束条件:两个链表其中一个为空,返回另一个链表 递推公式: l1.val < l2.val:l1.next = Merg ...
- no appropriate service handler found,修改数据库的最大连接数,默认150
no appropriate service handler found,频繁进行数据操作的时候,会出现这种错误.例如,当我读取excel时,一次读取好多数据,这个时候需要修改数据库的最大连接数 se ...
- Unity CommandBuffer物体轮廓
1.command buffer具有很高的灵活性,它的作用是预定义一些渲染指令,然后在我们想要执行的时候去执行这些指令(见图1),绿点表示可以在"Forward Rendering Path ...
- python-基础入门-1
Python的打印为 print,等价于c语言的printf 1 print "hello again" 就能打印出hello again,简简单单,就这么一句. 我用的vsc ...
- C++深拷贝与浅拷贝区别
浅拷贝只是对指针的拷贝,浅拷贝后两个指针指向同一个内存空间: 深拷贝不仅对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针. 当对一个已知对象进行拷贝时,编译系统会 ...
- 在FL Studio编曲软件中查找采样的音高
相信玩音乐的小伙伴们都遇到过这种情况,在用FL Studio编曲时,想添加一段音频采样,由于采样的调式与我们正在编曲的调式不同,音频之间的衔接就是一个非常头疼的问题,要解决采样的调式,我们就得先确认这 ...
- Linux高可用之Keepalived
1: 安装keepalived yum install -y keepalived ipvsadm 安装keepalived和LVS管理软件ipvsadm 主机与备机都需要安装 ######修改配置文 ...
- OpenCV计算机视觉学习(12)——图像量化处理&图像采样处理(K-Means聚类量化,局部马赛克处理)
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 准备 ...