莫比乌斯反演题目选做
引用资料
前置知识
-
积性函数
称数论函数 \(f(n)\) 为积性函数,当其 \(f(1)=1\) 且满足对于任意互质正整数 \(a,b\),都有 \(f(ab)=f(a)f(b)\) 。
称数论函数 \(f(n)\) 为完全积性函数,当其 \(f(1)=1\) 且满足对于任意正整数 \(a,b\),都有 \(f(ab)=f(a)f(b)\) 。
常用积性函数:
单位函数 \(\epsilon(n) = [n=1]\) (完全积性)
常数函数 \(\mathrm{I}(n) = 1\) (完全积性)
恒等函数 \(\mathrm{id}_k(n)=n^k\),\(\mathrm{id}_1(n)\) 通常记为 \(\mathrm{id}(n)\) (完全积性)
欧拉函数 \(\phi(n)=\sum \limits_{i=1}^n [\gcd(i,n)=1]\)
莫比乌斯函数 \(\mu(n)\) -
莫比乌斯函数
\(\mu(x)=\begin{cases}1&n=1\\0&n\text{含有平方因子}\\(-1)^{k}&k\text{为}n\text{的本质不同质因子个数}\end{cases}\) -
莫比乌斯函数性质
\(\sum \limits_{d|n} \mu(x)=\begin{cases}1&n=1\\0&n\ne1\end{cases}\) -
莫比乌斯反演公式
设 \(f(n)\),\(g(n)\) 为数论函数。
若 \(f(n) = \sum \limits_{d|n} g(d)\),则有 $g(n) = \sum \limits_{d|n} \mu(d) f(\frac{n}{d}) $
若 \(f(n) = \sum \limits_{n|d} g(d)\),则有 $g(n) = \sum \limits_{n|d} \mu(\frac{d}{n}) f(d) $ -
狄利克雷卷积
对于两个数论函数 \(f(x)\) 与 \(g(x)\),定义它们的狄利克雷卷积 \(h(x)\) 为:\(h(x)=\sum\limits_{d|x}f(d)g(\frac{x}{d})=\sum\limits_{ab=x}f(a)g(b)\)。
例子:
\(\epsilon=\mu * \mathrm{I}\)
\(\phi= \mathrm{id} * \mu\)
\(\mathrm{id}=\mathrm{I}*\phi\) -
杜教筛
在低于线性时间内求解积性函数的前缀和。
对于积性函数 \(f\) ,要求求出 \(S(n)=\sum_{i=1}^n f(i)\) 。
因为对于任意积性函数 \(g\) ,必满足 \(g(1)S(n)=\sum\limits_{i=1}^n (f*g)(i) - \sum\limits_{i=2}^n g(i)S(\left\lfloor \frac{n}{i} \right\rfloor)\) ,
构造出可以快速求出 \(\sum\limits_{i=1}^n (f*g)(i)\) 和自身前缀和的积性函数 \(g\) ,用数论分块求解。
题目选做
题意:有 \(T\) 个询问,每个询问给出 \(a,b,d\),求满足 \(1 \leq x \leq a\),\(1 \leq y \leq b\),且 \(\gcd(x,y)=d\) 的二元组 \((x,y)\) 的数量。
将 \(a,b\) 除于 \(d\),题目即转化为求满足 \(1 \leq x \leq \left \lfloor \dfrac{a}{d} \right \rfloor\),\(1 \leq y \leq \left \lfloor \dfrac{b}{d} \right \rfloor\),\(\gcd(x,y)=1\) 的二元组 \((x,y)\) 的数量。
下文默认 \(n = \left \lfloor \dfrac{a}{d} \right \rfloor\),\(m = \left \lfloor \dfrac{b}{d} \right \rfloor\) 。
\(\begin{aligned}Ans & = \sum \limits_{i=1}^n \sum \limits_{j=1}^m [\gcd(i,j)=1] \\
&= \sum \limits_{i=1}^n \sum \limits_{j=1}^m \sum \limits_{k|\gcd(i,j)} \mu(k) \\
&= \sum \limits_{k=1}^n \sum \limits_{k|i}^n \sum \limits_{k|j}^m \mu(k) \\
&= \sum \limits_{k=1}^n \left \lfloor \dfrac{n}{k} \right \rfloor \left \lfloor \dfrac{m}{k} \right \rfloor \mu(k) \end{aligned}\)
预处理莫比乌斯函数,用数论分块与前缀和维护上述式子。
题意:有 \(T\) 个询问,每个询问给定 \(N,M\),求 \(1 \leq x \leq N\),\(1 \leq y \leq\) 且 \(\gcd(x, y)\) 为质数的 \((x,y)\) 有多少对。
设 $ g(d) = \sum \limits_{i=1}^N \sum \limits_{j=1}^M [\gcd(i,j) = d] , f(n) = \sum \limits_{n|d} g(d) = \left \lfloor \dfrac{N}{n} \right \rfloor \left \lfloor \dfrac{M}{n} \right \rfloor $ 。
由莫比乌斯反演公式得:
\(\begin{aligned}g(n) &= \sum \limits_{n|d} \mu(\frac{d}{n})f(d) \\
&= \sum \limits_{n|d} \mu(\frac{d}{n}) \left \lfloor \dfrac{N}{d} \right \rfloor \left \lfloor \dfrac{M}{d} \right \rfloor \\
&= \sum \limits_{a=1}^{\left \lfloor \frac{N}{n} \right \rfloor} \mu(a) \left \lfloor \dfrac{N}{an} \right \rfloor \left \lfloor \dfrac{M}{an} \right \rfloor \end{aligned}\)
则 $Ans = \sum \limits_{k \in \text{质数}}^N g(k) = \sum \limits_{k=1}^N \sum \limits_{a=1}^{\left \lfloor \frac{N}{k} \right \rfloor} \mu(a) \left \lfloor \dfrac{N}{ak}\right \rfloor \left \lfloor \dfrac{M}{ak} \right \rfloor $ 。
设 \(T = ak\),则 $Ans = \sum \limits_{T=1}^N \left \lfloor \dfrac{N}{T}\right \rfloor \left \lfloor \dfrac{M}{T} \right \rfloor \sum \limits_{k \in \text{质数},k|T} \mu(\dfrac{T}{k}) $。其中 \(\sum \limits_{k \in \text{质数},k|T} \mu(\dfrac{T}{k})\) 部分可以预处理。用前缀和与数论分块进行维护。
题意:给一个数列,每次随机选一个 \(1\) 到 \(m\) 之间的数加在数列末尾,数列中所有数的 \(\gcd=1\) 时停止,求期望长度。
设 \(E(n)\) 为数列第一个数为 \(n\) 的期望长度。
\(\begin{aligned} E(1)&=1 \\
E(n)&=\dfrac{\sum\limits_{k=1}^m E(\gcd(k,n))}{m} +1 \\
&=\dfrac{m+\sum\limits_{k=1,n \nmid k}^m E(\gcd(k,n))}{m - \left \lfloor \frac{m}{n} \right \rfloor} \\
&=\dfrac{m + \sum \limits_{ d|n , d \neq n} E(d) \sum \limits_{k=1}^{\left \lfloor \frac{m}{d} \right \rfloor } [\gcd(k,\frac{n}{d})=1]}{m - \left \lfloor \frac{m}{n} \right \rfloor} \\
&=\dfrac{m + \sum \limits_{ d|n , d \neq n} E(d) \sum \limits_{k| \frac{n}{d} } \mu(k) \left \lfloor \frac{m}{dk} \right \rfloor }{m - \left \lfloor \frac{m}{n} \right \rfloor} \\
&=\dfrac{m + \sum \limits_{ T|n } \left \lfloor \frac{m}{T} \right \rfloor \sum \limits_{k|T,\frac{T}{k} \neq n } E(\frac{T}{k}) \mu(k) }{m - \left \lfloor \frac{m}{n} \right \rfloor}
\end{aligned}\)
因此对于每个 \(n\) ,计算完 \(E(n)\) 后处理出 \(\sum \limits_{k|T} E(\frac{T}{k}) \mu(k)\) 即可达到 \(O(m \sqrt{m})\) 的时间复杂度,足以通过本题。

莫比乌斯反演练习题目分析
浙公网安备 33010602011771号