數論函式基礎
阿新 • • 發佈:2018-12-13
數論函式
\(Z_{+} \rightarrow C\) 的函式
積性函式
\(\forall~(a,b)=1:~f(ab) = f(a)f(b)\)
狄利克雷卷積
\((f*g)(n)=\sum_{d|n} f(d) g(n/d)\)
常用卷積:
- \(\sigma_0=1*1\)
- \(\sigma_1=id*1\)
- \(\varphi=\mu*1\)
- \(\mu*1=e\)
運算律:
- \(f * g = g * f\)
- \((f * g) * h = f * (g * h)\)
因為結合律,所以 \(f^{k}\) 可以倍增計算
尤拉函式
\(\varphi(n)\) 表示 \([1,n]\) 中與 \(n\) 互質的數的個數,\(\varphi(1)=1\),\(\varphi(6) = 2\)
計算 \([1,n]\) 中與 \(n\) 互質的數的和時,\(n \le 2\) 即為 1,否則為 \(\varphi(n) \dfrac{n}{2}\)
莫比烏斯反演
設 \(F=f*1\),則 \(F*\mu=f*1*\mu=f*(1*\mu)=f\)
即若 \(F(x)=\sum_{d|x} f(d)\),則 \(f(x)=\sum_{d|x} F(d) \mu(x/d)\)
常用技巧:
- \(\lfloor {\dfrac{n}{d}} \rfloor\)
- 遇到 GCD 求和,考慮每個 GCD 對答案的貢獻
- 列舉因數可以轉換為列舉倍數,一般情況下更方便(CF235E)
題目
CF235E
bzoj2301
bzoj2820
bzoj3529
bzoj1257
bzoj2705
bzoj2226
bzoj2005
bzoj2693
bzoj2694