zoukankan      html  css  js  c++  java
  • 反演姿势总结

    参考博客

    戳这里,yyb怎么这么强啊。

    反演

    如果有(g(n)=sum_{i=0}^{n}a[n][i]f(i))

    我们想构造一个矩阵(b),满足(f(n)=sum_{i=0}^{n}b[n][i]g(i))

    (a)是一个下三角矩阵,(b)(a)的逆矩阵就可以了。

    更具体的,就是要满足(sum_{i=m}^{n}b[n][i] imes a[i][m]=[n==m])

    证明

    [egin{aligned} &sum_{i=0}^{n}b[n][i]g(i)\ =&sum_{i=0}^{n}b[n][i]sum_{j=0}^{i}a[i][j]f(j)\ =&sum_{i=0}^{n}f(i)sum_{j=i}^{n}b[n][j] imes a[j][i]\ =&sum_{i=0}^{n}f(i)[i==n]\ =&f(n) end{aligned} ]

    二项式反演

    如果有(g(n)=sum_{i=0}^{n}inom{n}{i}f(i))

    那么就有(f(n)=sum_{i=0}^{n}(-1)^{n-i}inom{n}{i}g(i))

    还有一种形式,

    [g(n)=sum_{i=0}^{n}(-1)^iinom{n}{i}f(i) ]

    [f(n)=sum_{i=0}^{n}(-1)^iinom{n}{i}g(i) ]

    还有,

    [g(m)=sum_{i=m}^{n}inom{i}{m}f(i) ]

    [f(m)=sum_{i=m}^{n}(-1)^{i-m}inom{i}{m}g(i) ]

    还有,

    [g(n)=sum_{i=0}^{n}inom{n+p}{i+p}f(i) ]

    [f(n)=sum_{i=0}^{n}(-1)^{n-i}inom{n+p}{i+p}g(i) ]

    还有(还有完没完了?),

    [g(m)=sum_{i=m}^{n}inom{i+p}{m+p}f(i) ]

    [f(m)=sum_{i=m}^{n}(-1)^{i-m}inom{i+p}{m+p}g(i) ]

    证明

    只证第一个式子,其他类似。

    根据文章一开始的叙述,我们只需要证:

    [sum_{i=m}^{n}b[n][i] imes a[i][m]=[n==m] ]

    在这里就是:

    [sum_{i=m}^{n}(-1)^{n-i}inom{n}{i}inom{i}{m}=[n==m] ]

    简单推一下式子,

    [egin{aligned} &sum_{i=m}^{n}(-1)^{n-i}inom{n}{i}inom{i}{m}\ =&sum_{i=m}^{n}(-1)^{n-i}inom{n}{m}inom{n-m}{i-m}\ =&inom{n}{m}sum_{i=m}^{n}(-1)^{n-i}inom{n-m}{i-m}\ =&inom{n}{m}sum_{i=0}^{n-m}(-1)^{n-m-i}inom{n-m}{i}\ =&inom{n}{m}(1-1)^{n-m}\ =&[n==m] end{aligned} ]

    最后一步用到了二项式定理。

    其他式子证明过程类似就不写了。

    应用:快速求第二类斯特林数

    戳我

    子集反演

    可以看成是二项式反演更一般的形式。

    如果有(g(S)=sum_{T subseteq S}f(T))

    那么(f(S)=sum_{T subseteq S}(-1)^{|S|-|T|}g(T))

    还有,

    [g(S)=sum_{T supseteq S}f(T) ]

    [f(S)=sum_{T supseteq S}(-1)^{|T|-|S|}g(T) ]

    暂时还不太会证,先鸽着。

    斯特林数反演

    斯特林数的一些性质

    与斯特林数反演没太大关系,不过记下来说不定哪天就用到了呢。

    没错还是这个连接,yyb为什么这么聚啊。

    斯特林数反演

    (s(n,m))表示第一类斯特林数,(S(n,m))表示第二类斯特林数(那个中括号大括号实在是太难敲了反人类啊)。

    如果有(g(n)=sum_{i=0}^{n}S(n,i)f(i))

    那么(f(n)=sum_{i=0}^{n}(-1)^{n-i}s(n,i)g(i))

    为什么呢?

    有一个叫做反转公式的东西:

    [sum_{i=m}^{n}(-1)^{n-i}s(n,i)S(i,m)=[n==m] ]

    [sum_{i=m}^{n}(-1)^{n-i}S(n,i)s(i,m)=[n==m] ]

    这不就是我们想要证的那个东西吗?

    关于反转公式的证明咕了。

    莫比乌斯反演

    [g(n)=sum_{d|n}f(d) ]

    [f(n)=sum_{d|n}mu(frac{n}{d})g(d) ]

    证明

    麻麻我终于会证莫比乌斯反演啦!

    还是根据前文的叙述,我们要证的是:

    [sum_{i=m}^{n}b[n][i] imes a[i][m]=[n==m] ]

    此处就是:

    [sum_{i=m}^{n}[m|i][i|n]mu(frac{n}{i})=[n==m] ]

    转化一下,就是:

    [sum_{d|frac{n}{m}}mu(d)=[n==m] ]

    根据:

    [sum_{d|n}mu(d)=varepsilon(n)=[n==1] ]

    其中(varepsilon(n))是狄利克雷卷积单位函数,相信大家都已经很熟练了。

    证毕(确信)。

    Update on 2019/01/14:差点忘记还有一个式子:

    [g(n)=sum_{n|d}f(d) ]

    [f(n)=sum_{n|d}mu(frac{d}{n})g(d) ]

    (min-max)反演(容斥)

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

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

    [kthmax(S)=sum_{T subseteq S}(-1)^{|T|+k}inom{|T|-1}{k-1}min(T) ]

    这个反演(容斥)过程对于期望同样满足。

    证明

    还是只证第一个,其他类似。

    设容斥系数为(f(x))(f(x))需要满足:

    [[k==1]=sum_{i=1}^{k}inom{k-1}{i-1}f(i) ]

    也就是:

    [[k==0]=sum_{i=0}^{k}inom{k}{i}f(i+1) ]

    好像可以二项式反演一下:

    [f(x+1)=sum_{i=0}^{x}(-1)^{x-i}inom{x}{i}[x==0] ]

    唔姆,这不就是:

    [f(x+1)=(-1)^{x} ]

    [f(x)=(-1)^{x-1} ]

    单位根反演

    前置姿势

    [sum_{i=0}^{n-1}omega_n^i=[n==1] ]

    然后这个式子是从上面的式子推出来的,

    [[k|n]=frac{1}{k}sum_{i=0}^{k-1}omega_k^{in} ]

    单位根反演

    [egin{aligned} sum_{i=0}^{n}inom{n}{ki}&=sum_{i=0}^{n}inom{n}{i}[k|i]\ &=frac{1}{k}sum_{i=0}^{n}inom{n}{i}sum_{j=0}^{k-1}omega_k^{ij}\ &=frac{1}{k}sum_{j=0}^{k-1}sum_{i=0}^{n}inom{n}{i}omega_k^{ij}\ &=frac{1}{k}sum_{j=0}^{k-1}(omega_k^j+1)^n end{aligned} ]

    UPD2019.5.9:

    [egin{aligned} sum_{i=1}^{n}[k|i]a_i=&frac{1}{k}sum_{i=1}^{n}a_isum_{j=0}^{k-1}omega_k^{ij}\ =&frac{1}{k}sum_{j=0}^{k-1}sum_{i=1}^{n}a_iomega_k^{ij}\ =&frac{1}{k}sum_{j=0}^{k-1}A(omega_k^j) end{aligned} ]

  • 相关阅读:
    T3984 迷宫问题 TJ
    P1091 合唱队形 TJ
    P4549 【模板】裴蜀定理
    牛客NOIP集训一S 牛牛的方程式 TJ
    P3387 【模板】缩点 TJ
    [数字图像处理](三)对数变换
    [数字图像处理](四)直方图均衡化[HE]算法
    [ACM]KMP算法的两种写法,从0开始,从1开始
    [计算几何]补题
    [Servlet]IJ idea搭建Servlet初步
  • 原文地址:https://www.cnblogs.com/ErkkiErkko/p/10265527.html
Copyright © 2011-2022 走看看