【莫比烏斯反演】——蒟蒻的理解


loading……

以下為正文:

======================================================================================

  序:最近被反演虐的不要不要的,遂決定寫一篇博文,防止以后自己翻車……

1.定義

  莫比烏斯函數:$\mu(n)$

 

   我們引入一個概念,狄利克雷卷積。即$(f*g)(n)=\sum_{d|n}f(d)*g(\frac n d)$。顯然,狄利克雷卷積是滿足交換律的。同時其也滿足結合律與分配率。

  在引入一個概念,積性函數,即函數$f$對於互質的兩個數$i,j$滿足$f(i*j)=f(i)*f(j)$。其中如果對於任意$i,j$滿足$f(i*j)=f(i)*f(j)$,我們稱其為完全積性函數。

  再例舉一些函數的符號:歐拉函數$\phi$,約數個數函數$d$,約數和函數$\sigma$,單位函數$id(n)=n$,元函數$\varepsilon(n)$,當n為1時,$\varepsilon(n)=1$,否則$\varepsilon(n)=0$,以及不變的函數$1(n)=1$。

  這里給出一個線性篩的板子:

  

 1 const int N=1e7+1;
 2  
 3 int miu[N],prim[N/5],num,sum[N];
 4 bool vis[N];
 5  
 6 inline void init(){
 7     miu[1]=1;
 8     sum[1]=1;
 9     for(int i=2;i<N;i++){
10         if(!vis[i])
11             prim[++num]=i,miu[i]=-1;
12         for(int j=1;prim[j]*i<N;j++){
13             vis[i*prim[j]]=1;
14             if(i%prim[j]==0){
15                 miu[i*prim[j]]=0;
16                 break;
17             }
18             miu[i*prim[j]]=-miu[i];
19         }
20         sum[i]=sum[i-1]+miu[i];
21     }
22 }

 

 

 

2.莫比烏斯函數的性質

  這一段是從目前做過的題總結的,以后沒准還得改(沒准寫的不夠……

   莫比烏斯函數一個十分總要的性質,即$(\mu *1)(n)$當且僅當$n==1$時,為1,否則為0。

  關於這個的證明用 二項式定理+唯一分解定理 是很好證明的,這里就不多說了。

3.莫比烏斯反演

  關於這塊,一來是式子太長,二來是百度已經寫得很全面了,所以蒟蒻就不獻丑了。

  參考鏈接:百度百科

  我想,這里比較重要的一個性質是:$F(n)=(f*1)(n)$,若$f$為積性函數,則$F(n)$也是積性函數。

  證明如下:

  設$\gcd (n,p)==1$。

  $F(n*p)=\sum_{i|n}\sum_{j|p}f(i*j)=\sum_{i|n}f(i)\sum_{j|p}f(j)=F(n)*F(p)$

  證畢。

  這個性質在我們反演出一個形如$ans=\sum_{i=1}^{n}g(i)\sum_{d|i}f(d)$的式子時,若$f$為積性函數,則我們可以將這個式子時間復雜度優化到至少$O(n)$。

  例如:

  $$F(n)=\sum_{i|n}\mu(i)*i*n$$

4.一些小證明:

  身邊大佬們總是在思考一些證明,所以我也補補emmmm

  順便發一下網上的LaTeX(博客園真的是……)

(1)

  ,就是綠皮上辣個智障式子。換一下形式其實就是$\phi=(\mu*1)$。證明如下:

 

(2)

  。emmmmm雖然很弱,還是證一下吧:

 

emmmm,然后當且僅當$\frac{n}{t}==1$時,后面的$\sum_{d|\frac{n}{t}}\mu(d)$為1,否則為0。證畢。

話說其實(1)里面那個式子由mobius反演就能證明emmmmmm

 

5.一些奇奇怪怪篩法

1)最小質因數篩法:

  我們在篩某個函數$F$的時候,往往其並不是一個正常的積性函數,假設當前枚舉數字為$i$,所用質數為$p$,我們一般會進行關於i與p的關系進行分類討論,並且會用到$i$將$p$除盡的后得到的$j$,若一直除的話篩法就不再是線性,為了保證線性,我們就要用到最小質因數。

  假設$prime$為$i$的最小質因數,顯然在通常的線篩中我們知道若枚舉的質數$p$滿足$p<prime$則會枚舉下一個質數,否則$break$,那么我們利用這一點,假設我們已經得到了$i$的最小質因數$prime$以及其次方項,當前枚舉質數為$p$,那么對於計算到的$i*p$,當$p<prime$時直接按照$(i,p)==1$的情況討論,同時顯然可以知道$i*p$的最小質因數要跟新為$p$;當$p==prime$時,則按照$(i,p)==p$的情況討論,由於我們已經記錄了$i$的最小質因數$prime$以及其次方,我們可以直接$O(1)$得出其對應的$j$,同時對於$i*p$的最小質因數次數加1。

  這樣就維持了$O(n)$的線性篩。例子:BZOJ 3309 DZY love math

2)一類關於質數$p$成多項式的積性數論函數的篩法

  鏈接。

 

6.關於做題

  這個我也沒有什么發言權,畢竟我太弱了……但還是想總結一下自己的想法。

  反演最重要的是$gcd(i,j)==1$等價為$\sum_{d|t}\mu(d),t=gcd(i,j)$這一式子,在目前所遇到的題目中,關鍵都是如何將題目給出的內容轉化為$gcd$,並且正確的化解,這個我也不怎么會,只能多練習了。

7.總結

  個人覺得一些基本證明會不會都不是很重要,畢竟也不可能考為什么$id=(\phi*1)$之類的,明白其過程,對思考有啟發就足以。

8.一些題目:

   BZOJ YY的GCD

  BZOJ 4176 Lucas的數論   BZOJ 3930 CQOI2015 選數   bzoj2693: jzptab   BZOJ 4174 tty的求助
  BZOj 3601:一個人的數論


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM