二项式反演

\[f_n=\sum\limits_{i=0}^nC^i_ng_i \Leftrightarrow g_n=\sum\limits_{i=0}^n{(-1)}^{n-i}f_i
\]

证明:

容斥原理

\[|A_1 \cup A_2\cup\cdots\cup A_n|=\sum\limits_{1\le i\le n}|A_i|-\sum\limits_{1\le i<j\le n}|A_i\cap A_j|+\cdots+(-1)^{n-1}\times |A_1\cap A_2\cap \cdots \cap A_n|
\]

证明:显然

如果一个元素 \(p\) 被 \(m\) 个集合包含,那么 \(p\) 对于左侧的贡献是 \(1\)

对于右侧的贡献:

\[ \sum\limits_{i=1}^m(-1)^{i-1}C^i_m\\\large=-\sum\limits_{i=1}^m(-1)^{i}C^i_m\\\large =
1-\sum\limits_{i=0}^m(-1)^{i}C^i_m\\\large=1-(1-1)^m=1
\]

二项式定理

\[(x+y)^n=\sum\limits_{i=0}^nC^i_n x^i y^{n-i}
\]

这个柿子可以理解为 ,\(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\) ,结合容斥原理可得

\[|B_1 \cap B_2\cap\cdots\cap B_n|=|U|-\sum\limits_{1\le i\le n}|A_i|-\sum\limits_{1\le i<j\le n}|A_i\cap A_j|+\cdots+(-1)^{n-1}\times |A_1\cap A_2\cap \cdots \cap A_n|
\]
\[\because C_{C_A}=A\\
\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\) 个原集的大小。

得到:

\[f(n)=\sum\limits_{i=0}^n(-1)^iC^i_ng(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^iC^i_nf(i)
\]

令 \(h(i)=(-1)^ig(i)\) ,那么

\[ f(n)=\sum\limits_{i=0}^n(-1)^iC^i_ng(i)=\sum\limits_{i=0}^nC^i_nh(i)\Leftrightarrow g(n)=\dfrac{h(n)}{(-1)^n}=\sum\limits_{i=0}^n(-1)^{i}C^i_nf(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\) 中的最大、最小值,那么

\[max(S)=\sum\limits_{T\subseteq S}(-1)^{|T|+1}min(T)
\]

证明:

考虑构造一个系数 \(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\) 的最大数,等于等式左边,则

\[[x==0]=\sum\limits_{i=0}^xC^i_xf(i+1)
\]

套用之前的二项式反演公式,设 \(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容斥证明的更多相关文章

  1. BZOJ4036:按位或 (min_max容斥&高维前缀和)

    Description 刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行或(c++,c的|,pascal 的or)操作.选择数字i的概率是p[i].保证0&l ...

  2. kth min_max容斥

    题解: 普通的$min-max$容斥是用来求最后出现元素的期望之类的 $kth min-max$容斥进一步解决倒数第k个出现的元素的期望 给出公式: $kthmax(S)=\sum\limits_{T ...

  3. How many integers can you find(容斥+dfs容斥)

    How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  4. How Many Sets I(容斥定理)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3556 How Many Sets I Time Limit: 2 ...

  5. LOJ#503. 「LibreOJ β Round」ZQC 的课堂(容斥+FHQTreap)

    题面 传送门 题解 首先\(x\)和\(y\)两维互相独立,可以分开考虑,我们以\(x\)为例 我们把\(x\)做个前缀和,那么就是问有多少\(i\)满足\(s_is_{i-1}<0\),其中\ ...

  6. Min-Max 容斥的证明

    这里有 Min-Max 容斥的证明以及唯一一道博主做过的例题... 上个结论: \[Min\{S\}=\sum_{T\subseteq S,T\not=\varnothing}(-1)^{|T|-1} ...

  7. Xtreme9.0 - Light Gremlins 容斥

    Xtreme9.0 - Light Gremlins 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenge ...

  8. 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 ...

  9. 之江学院第0届校赛 qwb与支教 (容斥公式)

    description qwb同时也是是之江学院的志愿者,暑期要前往周边地区支教,为了提高小学生的数学水平.她把小学生排成一排,从左至右从1开始依次往上报数. 玩完一轮后,他发现这个游戏太简单了.于是 ...

随机推荐

  1. netfilter 的扩展功能 helper tftp-nat

    /* 需要对conntrack进行功能扩展的协议,会初始化一个struct nf_conntrack_helper 实例,把该实例注册到Netfilter中管理的全局哈希表中. 查找helper使用的 ...

  2. mysql一些好的问题

    一."N叉树"的N值在MySQL中是可以被人工调整吗? 1, 通过改变key值来调整N叉树中非叶子节点存放的是索引信息,索引包含Key和Point指针.Point指针固定为6个字节 ...

  3. linux 命令之file

    Linux file命令用于辨识文件类型. 通过file指令,我们得以辨识该文件的类型. 语法 file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...] ...

  4. RTSP服务端开发概述

    一 概述 RTSP(Real Time Streaming Protocol),RFC2326,实时音视频流传输协议,是TCP/IP协议体系中的一个应用层协议.该协议定义了一对多应用程序如何有效地通过 ...

  5. 还是畅通工程(最小生成树 并查集 Prim Kruskal)

    Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只 ...

  6. MySQL索引背后的数据结构及原理

    摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BT ...

  7. java 连接sqlserver

    db.properties 文件 driver=com.microsoft.sqlserver.jdbc.SQLServerDriver url=jdbc:sqlserver://10.1.1.19: ...

  8. Model class apps.goods.models.GoodsType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS

    在admin.py注册这个model时,报了个错: RuntimeError: Model class apps.goods.models.GoodsType doesn't declare an e ...

  9. 通过Camtasia来制作画中画视频效果的方法

    随着全民娱乐化的发展,视频的形式也更加多种多样了.视频形式的多样化能让观众从不同形式的视频中观赏到更有趣味的内容.比如像画中画的视频形式,让视频中的人物看起来像与观众一同观看视频,或者形成两个视频的对 ...

  10. .NET可视化权限功能界面设计

    权限功能是信息系统不可或缺的重要部分,一个优秀的权限设计可以使开发工作事半功倍,给使用者带来良好的使用体验. 企业做生意,都会聘请员工,若是员工数量较多,"权限管理"必不可少,这样 ...