数论函数
恶补数学。。。
狄利克雷卷积
定义
定义运算 \((\text{f} * \text{g})(n)=\sum\limits_{d|n}\text{f}(d)\text{g}(\frac{n}{d})\),记为狄利克雷卷积。
注:在数论中,\(*\) 读作“卷”。
性质
-
\(\text{f} * \text{g}=\text{g} * \text{f}\)(交换律)
-
\(\text{f} * (\text{g} * \text{h})=(\text{f} * \text{g}) * \text{h}\)(结合律)
-
\((\text{f + g}) * \text{h}=\text{f} * \text{h}+\text{g} * \text{h}\)(分配律)
-
\(x\text{f}*\text{g}=x(\text{f} * \text{g})\)(优先级大)
-
有单位元 \(\epsilon(n)=[n=1]\),即 \(\text{f}*\epsilon=\epsilon * \text{f}=\text{f}\)
-
对于每一个 \(\text{f}(1)\ne 0\) 的函数 \(\text{f}\),存在逆元 \(\text{g}\) 使得 \(\text{f} * \text{g}=\epsilon\)
-
若 \(\text{g}\) 是 \(\text{f}\) 的逆元,只需要让 \(\text{g}(n)\) 满足以下式子即可:
另外一些有用的计算
点乘
定义 \(\text{(f · g)}(x)=\text{f}(x)\text{g}(x)\)
那么当 \(\text{f}\) 是完全积性函数时,有 \((\text{f · g})*(\text{f · h})=\text{f}·(\text{g}*\text{h})\)
一些常见的数论函数
-
\(1(x)=1\),常函数,不管自变量取值多少恒为一,具有完全积性。
-
\(\text{id}(x)=x,\text{id}^k(x)=x^k\),标号函数,返回自变量本身,具有完全积性。
-
\(\varphi(x)=\sum\limits_{i=1}^x[\gcd(i,x)=1]\),欧拉函数,表示小于某正整数且与该数互质的正整数的个数
-
\(\epsilon(x)=[x=1]\),约定中括号返回一个布尔量,中括号内表达式为真返回1,否则返回0。整数域下有积性。
-
\(\text{d}(x)=\sum\limits_{d|x}1\),表示 \(x\) 的约数个数。
-
\(\sigma(x)=\sum\limits_{d|x}d\),表示 \(x\) 的约数和。
\(\mu\) 函数
定义
定义 \(1\) 的逆为 \(\mu\)。
性质
一些常见数论函数间的关系
-
\(\text{d}=1*1\)
-
\(\sigma=1*\text{id}\)
-
\(\text{id}=1*\varphi\)
-
\(\sigma=1*1*\varphi=\text{d}*\varphi\)
-
\(\varphi=\text{id}*\mu\)
-
\(1=\text{d}*\mu\)
-
\(\text{id}=\sigma * \mu\)
莫比乌斯反演
定理内容
若 \(\text{g}=\text{f}*1\),则 \(\text{f}=\text{g}*\mu\)。
例
求:
可以对式子进行如下变化:
令 \(N=\min(n,m)\),则原式
后面可以用莫比乌斯反演转化为 \(O(\sqrt{n})\),总复杂度 \(O(n\sqrt{n})\),进一步优化:
令 \(T=id\),对于每一个 \(T\),只有 \(i=\frac{T}{d},T \text{ mod }d=0\),则
因为 \(T\) 只和 \(d\) 有关,所以
将 \(d\) 乘进去
我们可以改变枚举变量,原式枚举的是 \(d\) 的倍数,已知在 \(1-N\) 中枚举一个数的倍数和 \(1-N\) 中枚举一个数的因子是等价的,所以我们可以把枚举 \(d\) 的倍数改为枚举 \(T\) 的因子,那么就有
显然,式中有一个经典的卷积形式
令 \(h=\text{id}*\mu\),则
又因为 \(\varphi*1=\text{id}\),所以 \(h=\varphi\),则原式为
欧拉函数前缀和可以用杜教筛求得,总时间复杂度 \(O(n^{\frac{2}{3}})\)。
例题:
P1829 Crash 的数字表格
求:
\(n,m\leqslant 10^7\)
P3327 [SDOI2015] 约数个数和
求:
\(1\leqslant T,n,m \leqslant 5\times 10^4\)
提示: