zoukankan      html  css  js  c++  java
  • 反演

    ( ext{Definition})

    给定一个集合(U),一个交换群(<G,+>),一个环(<R,+, imes>)
    其中(R)是由(Gmapsto G)的映射构成的集合,(forall f,gin R,(f+g)(x)=f(x)+g(x),(f imes g)(x)=g(f(x)))
    (G)的单位元为(0)(F)的零元为(epsilon),一元为(I)
    (n=|U|-1),构造一个(Umapsto[0,n]capmathbb Z)的双射(t),其逆映射为(r)
    给定(Umapsto G)的映射(f,g),之后我们默认(f(x),g(x))(f(r(x)),g(r(x)))
    (也就是把(f,g)的定义域挪到({0,cdots,n})上)
    (f,g)满足(g=h(f))(g(m)=sumlimits_{i=0}^na_{m,i}(f(i))),其中(a_{i,j}in F)
    (h^{-1})使得(f=h^{-1}(g))(f(m)=sumlimits_{i=0}^nb_{m,i}(g(i))),其中(b_{i,j}in F)

    (h,h^{-1})写成(n+1)阶矩阵(mathbf A,mathbf B)(mathbf A_{i,j}=a_{i,j},mathbf B_{i,j}=b_{i,j})
    要解的就是(mathbf {BA}=mathbf I)
    (mathbf B)存在的充要条件是(operatorname{rank}(mathbf A)=n+1)
    且解(mathbf B)满足(sumlimits_{k=0}^na_{i,k}b_{k,j}=[i=j])
    这里的Iverson括号为([p]=egin{cases}epsilon&p ext{ is false}\I&p ext{ is true}end{cases})

    注意如果满足(R)是一个交换环,那么(mathbf A,mathbf B)是互逆的,且(mathbf{A^TB^T}=mathbf{B^TA^T}=mathbf I)
    这样可以得到一些小小的Extension,下面就不强调了。
    一般的应用中(G)为复数和复数意义下加法构成的交换群,(R)为数乘及其加法、复合构成的交换群。

    Some Examples

    二项式反演

    根据公式:
    (sumlimits_{k=j}^i(-1)^{k-j}{i-jchoose k-j}=[i=j])(或者说(sumlimits_{k=j}^i(-1)^{i-k}{i-jchoose k-j}=[i=j])
    可以得到:
    (a_{i,j}={ichoose j}Leftrightarrow b_{i,j}=(-1)^{i-j}{ichoose j})
    (a_{i,j}=(-1)^j{ichoose j}Leftrightarrow b_{i,j}=(-1)^j{ichoose j})
    写成映射形式就是:
    (f(m)=sumlimits_{i=0}^n{mchoose i}g(i)Leftrightarrow g(m)=sumlimits_{i=0}^n(-1)^{m-i}{mchoose i}f(i))
    (f(m)=sumlimits_{i=0}^n(-1)^i{mchoose i}g(i)Leftrightarrow g(m)=sumlimits_{i=0}^n(-1)^i{mchoose i}f(i))

    Mobiüs反演

    根据公式:
    (sumlimits_{d|n}mu(d)=[n=1])
    可以得到:
    (a_{i,j}=[j|i]Leftrightarrow b_{i,j}=[j|i]mu(frac ij))
    写成映射形式就是:
    (f(m)=sumlimits_{d|m}g(d)Leftrightarrow g(m)=sumlimits_{d|m}mu(frac md)f(d))

    子集反演

    根据公式:
    (sumlimits_{Tsubseteq S}(-1)^{|T|}=[S=varnothing])
    可以得到:
    (a_{S,T}=[Tsubseteq S]Leftrightarrow b_{S,T}=[Tsubseteq S](-1)^{|S|-|T|})
    写成映射形式就是:
    (f(S)=sumlimits_{Tsubseteq S}g(T)Leftrightarrow g(S)=sumlimits_{Tsubseteq S}(-1)^{|S|-|T|}f(T))

    Stirling反演

    根据公式:
    (sumlimits_{k=0}^n(-1)^{i-k}left{iatop k ight}left[katop j ight]=sumlimits_{k=0}^n(-1)^{i-k}left[iatop k ight]left{katop j ight}=[i=j])
    可以得到:
    (a_{i,j}=left{iatop j ight}Leftrightarrow b_{i,j}=(-1)^{i-j}left[iatop j ight])
    (a_{i,j}=left[iatop j ight]Leftrightarrow b_{i,j}=(-1)^{i-j}left{iatop j ight})
    写成映射形式就是:
    (f(m)=sumlimits_{i=0}^nleft{matop i ight}g(i)Leftrightarrow g(m)=sumlimits_{i=0}^n(-1)^{m-k}left[matop i ight]f(i))
    (f(m)=sumlimits_{i=0}^nleft[matop i ight]g(i)Leftrightarrow g(m)=sumlimits_{i=0}^n(-1)^{m-k}left{matop i ight}f(i))

    快速Walsh–Hadamard变换

    这里我们认为下标为(0,cdots,n-1)
    利用Hadamard矩阵的性质:
    (frac1nsumlimits_{i=0}^{n-1}(-1)^{operatorname{bit}(ioperatorname{and}x)}=[x=0])
    可以得到:
    (a_{i,j}=(-1)^{operatorname{bit}(ioperatorname{and}j)}Leftrightarrow b_{i,j}=frac1n(-1)^{operatorname{bit}(ioperatorname{and}j)})
    写成映射形式就是:
    (f(m)=sumlimits_{i=0}^{n-1}(-1)^{operatorname{bit}(ioperatorname{and}m)}g(i)Leftrightarrow g(m)=frac1nsumlimits_{i=0}^{n-1}(-1)^{operatorname{bit}(ioperatorname{and}m)}f(i))

    快速Fourier变换

    这里我们认为下标为(0,cdots,n-1)
    根据公式:
    (frac1nsumlimits_{k=0}^{n-1}omega_n^{k(i-j)}=[i=j])
    可以得到:
    (a_{i,j}=omega_n^{ij}Leftrightarrow b_{i,j}=frac1nomega_n^{(n-i)j})
    写成映射形式就是:
    (f(m)=sumlimits_{i=0}^{n-1}omega_n^{mi}g(i)Leftrightarrow g(m)=frac1nsumlimits_{i=0}^{n-1}omega_n^{(n-m)i}f(i))

    单位根反演

    其实就是快速Fourier变换的扩展。
    根据公式:
    (frac1nsumlimits_{i=0}^{n-1}omega_n^{ki}=[n|k])
    可以得到:
    (f(x)=sumlimits_{i=0}^nx^ig(i)Leftrightarrowsumlimits_{i=0}^n[k|i]g(i)=frac1ksumlimits_{i=0}^{k-1}f(omega_k^i))

    Lagrange反演

    有两个多项式(F(x),G(x)),若满足(G(F(x))equiv xpmod{x^n}),则称(F(x),G(x))互为复合逆。
    充要条件是([x^0]G(x)=[x^0]F(x)=0,[x^1]F(x)[x^1]G(x)equiv1pmod p)
    一次多项式除外,自己手玩。

    ([x^n]F(x)=frac1n[x^{-1}]frac1{G(x)^n})
    ([x^n]H(F(x))=frac1n[x^{-1}]frac{H'(x)}{G(x)^n})
    我们发现([x^{-1}])不在我们的数组内,所以进行一些小小的变形。
    ([x^n]F(x)=frac1n[x^{n-1}](frac x{G(x)})^n)
    ([x^n]H(F(x))=frac1n[x^{n-1}]H'(x)(frac x{G(x)})^n)

    Min-Max容斥(最值反演)

    这其实应该是简单容斥。
    与子集反演一样,根据公式:
    (sumlimits_{Tsubseteq S}(-1)^{|T|}=[S=varnothing])
    可以得到:
    (max(S)=sumlimits_{Tsubseteq S}(-1)^{|T|-1}min(T))
    (min(S)=sumlimits_{Tsubseteq S}(-1)^{|T|-1}max(T))
    (operatorname{Kthmax}(S)=sumlimits_{Tsubseteq S}(-1)^{|T|-k}{|T|-1choose k-1}min(T))
    (operatorname{Kthmin}(S)=sumlimits_{Tsubseteq S}(-1)^{|T|-k}{|T|-1choose k-1}max(T))
    并且这些式子在期望意义下也成立。

  • 相关阅读:
    新概念英语(1-121)The man in a hat
    新概念英语(1-119)who call out to the thieves in the dark?
    画像分析(1-1)如何为客户画像?
    大数据分析师
    英语词汇(2)fall down,fall off和fall over
    把梳子卖给和尚的故事
    洛谷P1970 花匠(dp)
    2018.10.24模拟赛2解题报告
    2018.10.24模拟赛1解题报告
    洛谷P1941 飞扬的小鸟(背包 dp)
  • 原文地址:https://www.cnblogs.com/cjoierShiina-Mashiro/p/12128535.html
Copyright © 2011-2022 走看看