不定期更新的說呢...
積性函數
積性函數的概念:
如果一個函數 \(f(n)\) 在 \(a,b\) 互質的情況下滿足 \(f(a*b)=f(a)*f(b)\), 則稱其為積性函數
舉例:
\(φ(n)\) —— 歐拉函數 !
\(σ(n)\) —— 約數和函數
\(μ(n)\) —— 莫比烏斯函數 !
\(σ_0(n)\) —— 約數個數函數
\(σ_k(n)\) —— 約數次數和函數(其實上一個函數也可歸為此類)
完全積性函數的概念:
如果一個函數 \(f(n)\) 對任意整數 \(a,b\) 滿足 \(f(a*b)=f(a)*f(b)\), 則稱其為完全積性函數
舉例
\(\epsilon(n)\) 單位元函數 (在 n 等於 1 的時候為 1 , 否則為 0 )
\(I(n)\) 恆等函數 (就是永遠等於 1 ,在卷積的時候經常會用到)
\(id(n)\) 單位函數 (值為本身)
\(id^{k}(n)\) 冪函數
狄利克雷卷積
卷積的符號為 \(*\) (很像乘號)
運算法則如下:
對於兩個函數 \(f,g\),他們的卷積\(f*g(n)\)為 \(\sum_{d|n}f(d)\times g(\dfrac{n}{d})\)
其中 d|n 表示 d 能被 n 整除, n m 互質的話就是 \(n⊥ m\)
至於莫比烏斯反演我只曉得大概的概念,用也不會用...稍微講講
這里要用到莫比烏斯函數(下面會講),莫比烏斯反演大概就是講:
若兩個函數 \(f,g\) 滿足 \(g(n)=\sum_{d|n}f(d)\) (即\(f*I=g\)),
則我們用 g 來求出 f ,方法如下:
然鵝並不曉得運用(因為刷題少啊!)
好吧其實非常有用的地方就是數論分塊(杜教篩)了
兩個積性函數的卷積
兩個積性函數的卷積必然是積性函數,這是一個定理...下面給出 proof:
若 f 、g 為兩個積性函數, \(n ⊥ m\) ( n、 m 互質)
那么我們要證的就是 \(f* g(n)\ · f* g(m) = f* g(nm)\)
根據定義有:
那么:
因為 \(n⊥m\) ,所以 \(d1⊥d2\):
證畢呢...
然后牢記一點,積性函數基本都是能線性篩出來的 0.0
關於歐拉函數 \(φ\)
歐拉函數就是對於 n , 它的歐拉函數的值為 1~n 中與其互質的數的個數
它滿足一個性質,就是 \(φ*I=id\)
證明?不是很會
其實證明方法很多,可以構造函數然后利用積性函數的性質加以證明
關於莫比烏斯函數 \(μ\)
這個東西滿足一個性質,就是 \(μ*I=e\)
好了,說直白點就是:莫比烏斯函數是用來容斥的
當然,有的地方也得用到這個性質反過來的公式
關於除數函數 \(σ_1\)
這玩意兒能在線性篩的時候篩出來
首先我們考慮一個數約數和的公式:
再寫得簡潔一點:
\(N_p\) 表示 n 中質因子的個數
這個公式就決定了該函數可以線性篩出來
推薦博文閱讀:
https://lx-2003.blog.luogu.org/mobius-inversion