复习笔记——一些反演

莫比乌斯反演

莫比乌斯函数

\( \begin{equation} \mu(x)= \begin{cases} 1& x=1\\ 0& x含有平方因子\\ (-1)^k& x有k个质因子 \end{cases} \end{equation} \)

是积性函数,可以用线性筛求

int mu[N],p[N],prime[N],pnum;
void getp(){
    for(int i=1;i<N;i++) p[i]=1;
    mu[1]=1;
    for(int i=2;i<N;i++){
        if(p[i]) prime[pnum++]=i,mu[i]=-1;
        for(int j=0;j<pnum && 1ll*i*prime[j]<N;j++){
            p[i*prime[j]]=0;
            if(i%prime[j]==0){
                mu[i*prime[j]]=0;
                break;
            }
            mu[i*prime[j]]=-mu[i];
        }
    }
}

反演

  1. \(f(x)=\sum\limits_{d|x} g(d)\),则 \(g(x)=\sum\limits_{d|x} \mu(\frac{x}{d}) f(d)\)
  2. \(f(x)=\sum\limits_{x|d} g(d)\),则 \(g(x)=\sum\limits_{x|d} \mu(\frac{d}{x}) f(d)\)

应用

  1. \(gcd\) 相关的:要求对 \(gcd=k\) 的计数,转而对 \(gcd\)\(k\) 的倍数的计数
  2. 与约数个数相关:\(d(n)\) 表示 \(n\) 的约数个数,则 \(d(xy)=\sum\limits_{i|x}\sum\limits_{j|y} [gcd(i,j)==1]\)
  3. \(gcd(x,y)=\sum\limits_{d|x,d|y} \phi(d)\):证明——狄利克雷卷积 \(\phi * I=id\),而满足 \(d|x,d|y\) 的满足 \(d|gcd(x,y)\)

二项式反演

反演

  1. \(f(n)=\sum\limits_{i=0}^n (-1)^i\binom{n}{i} g(i)\) ,则 \(g(n)=\sum\limits_{i=0}^n (-1)^i\binom{n}{i} f(i)\) (极其对称)
  2. \(f(n)=\sum\limits_{i=0}^n \binom{n}{i} g(i)\) ,则 \(g(n)=\sum\limits_{i=0}^n (-1)^{n-i} \binom{n}{i} f(i)\)
  3. \(f(n)=\sum\limits_{i=n}^m \binom{i}{n} g(i)\) ,则 \(g(n)=\sum\limits_{i=n}^m (-1)^{i-n} \binom{i}{n} f(i)\)

应用

由至少 \(\Rightarrow\) 恰好,用第二个式子
由至多 \(\Rightarrow\) 恰好,用第三个式子


Min-Max反演

反演

对于集合 \(S\)
\(minS=\sum\limits_{T \subseteq S} (-1)^{|T|-1} maxT\)
\(maxS=\sum\limits_{T \subseteq S} (-1)^{|T|-1} minT\)

\(min\)\(max\) 的期望也是满足这个式子的

应用

比较经典的问题是抽卡片,求都抽到的期望

\(max(S)\) 表示卡片集合 \(S\) 中最后抽到卡第一次抽到的期望时间, \(min(S)\) 表示第一个抽到的卡第一次抽到的期望时间
\(max(S)=\sum\limits_{T\subseteq S} (-1)^{|T|-1} min(T)\)
\(min(T)=\frac{1}{\sum\limits_{i\in T}p_i}\)


子集反演

反演

\(f(S)=\sum\limits_{T\subseteq S} g(T)\),则 \(g(S)=\sum\limits_{T\subseteq S} (-1)^{|S|-|T|} f(T)\)

应用

\(FWT\) 中会用到
尤其是自己手推的时候应该知道这个式子

posted @ 2020-08-16 21:35  秋千旁的蜂蝶~  阅读(36)  评论(0编辑  收藏