• 【知识点】二项式反演&min-max容斥


    二项式反演

    形式一:

    $f(n)=sumlimits_{i=0}^n(-1)^i{nchoose i}g(i)Leftrightarrow g(n)=sumlimits_{i=0}^n(-1)^i{nchoose i}f(i)$

    证明:

    由多步容斥公式$|A_1cup A_2cup...cup A_n|=sumlimits_{1le ile n}|A_i|-sumlimits_{1le i<jle n}|A_icap A_j|+...+(-1)^{n-1} imes |A_1cap A_2cap ...cap A_n|$,可知

    • $|A_1^ccap A_2^ccap ...cap A_n^c|=|S|-sumlimits_{1le ile n}|A_i|+sumlimits_{1le i<jle n}|A_icap A_j|-...+(-1)^n imes |A_1cap A_2cap ...cap A_n|$
    • $|A_1cap A_2cap ...cap A_n|=|S|-sumlimits_{1le ile n}|A_i^c|+sumlimits_{1le i<jle n}|A_i^ccap A_j^c|-...+(-1)^n imes |A_1^ccap A_2^ccap ...cap A_n^c|$

    考虑一种特殊情况:任意n个集合的交集大小只与n有关(比如每个集合只有一个互不相同的元素)。

    此时令$f(n)$表示n个补集的交集大小,$g(n)$表示n个集合的大小,则有

    • $f(n)=sum limits_{i=0}^{n}{(-1)^{i}{nchoose i}g(i)}$
    • $g(n)=sum limits_{i=0}^{n}{(-1)^{i}{nchoose i}f(i)}$

    显然这两个公式等价,也可以相互推导。

    形式二:

    $f(n)=sumlimits_{i=0}^n{nchoose i}g(i)Leftrightarrow g(n)=sumlimits_{i=0}^n(-1)^{n-i}{nchoose i}f(i)$

    证明:

    令$h(n)=(-1)^{n}g(n)$,那么若$f(n)=sum limits_{i=0}^{n}{{nchoose i}h(i)}$,则$h(n)=sum limits_{i=0}^{n}{(-1)^{i+n}{nchoose i}f(i)}$。

    易知$(-1)^{n+i}=(-1)^{n-i}$,故$h(n)=sum limits_{i=0}^{n}{(-1)^{n-i}{nchoose i}f(i)}$。

    min-max容斥:

    结论:

    对于集合S,有:

    • $max(S)=sum limits_{Tsubseteq S}{(-1)^{|T|-1}min(T)}$
    • $min(S)=sum limits_{Tsubseteq S}{(-1)^{|T|-1}max(T)}$

    该式对于期望也成立,即有

    • $E(max(S))=sum limits_{Tsubseteq S}{(-1)^{|T|-1}E(min(T))}$
    • $E(min(S))=sum limits_{Tsubseteq S}{(-1)^{|T|-1}E(max(T))}$

    证明:

    可以从构造出发,我这里直接证了:

    集合中从大到小第x+1个元素的系数为$f(x)=sum limits_{i=0}^{x}{(-1)^{i}{x choose i}}$。

    当$x=0$时显然$f(x)=1$,否则$f(x)=sum limits_{i=0}^{frac{x}{2}}{xchoose 2i}-sum limits_{i=0}^{frac{x}{2}}{xchoose 2i+1}=0$。

    推论:

    对于集合S,有$max(S,k)=sum limits_{Tsubseteq S}{(-1)^{|T|-k}{|T|-1choose k-1}min(T)}$。

    其中$max(S,k)$表示S中第k大的元素。原结论的四种不同形式对该推论均成立。

    证明:

    构造,令$max(S,k)=sum limits_{Tsubseteq S}{f(|T|)min(T)}$,则有$[x+1=k]=sum limits_{i=0}^{x}{{xchoose i}f(i+1)}$。

    二项式反演,得$f(x+1)=sum limits_{i=0}^{x}{(-1)^{x-i}{x choose i}[i+1=k]}=(-1)^{x+1-k}{xchoose k-1}$

    即$f(x)=(-1)^{x-k}{x-1choose k-1}$,得证。

  • 相关阅读:
    iOS socket编程 第三方库 AsyncSocket(GCDAsyncSocket)
    JS中reduce方法
    程序员的运动建议
    Vuex(三)—— getters,mapGetters,...mapGetters详解
    微信小程序之使用函数防抖与函数节流
    JS 异步(callback→Promise→async/await)
    圈子与网络
    社会经验4
    社会经验3
    爱情(。_。)大忌
  • 原文地址:https://www.cnblogs.com/YSFAC/p/13354051.html
Copyright © 2020-2023  润新知