莫比乌斯反演

“数论所生,繁华之地。” —— 一径入繁华

在未特殊指出的前提下,字母均代表正整数。

持续补充中,如果有任何问题或者想要交流,欢迎联系我。

Upd on 2024/9/20:完善了一些内容。

数论分块

引理 1

\[\left\lfloor\frac{a}{bc}\right\rfloor=\left\lfloor\frac{\left\lfloor\frac{a}{b}\right\rfloor}{c}\right\rfloor \]

证明

显然有 \(\displaystyle \frac{a}{b}=\left\lfloor\frac{a}{b}\right\rfloor+r\)\(r\in [0,1)\))。

\(\displaystyle \implies \left\lfloor\frac{a}{bc}\right\rfloor=\left\lfloor\frac{1}{c}\cdot \frac{a}{b}\right\rfloor=\left\lfloor\frac{1}{c}\cdot \left(\left\lfloor\frac{a}{b}\right\rfloor+r\right)\right\rfloor=\left\lfloor\frac{1}{c}\cdot \left\lfloor\frac{a}{b}\right\rfloor+\frac{r}{c}\right\rfloor=\left\lfloor\frac{\left\lfloor\frac{a}{b}\right\rfloor}{c}\right\rfloor\)。证毕。

引理 2

\(i\) 取遍 \([1,n]\) 时,\(\displaystyle \left\lfloor\frac{n}{i}\right\rfloor\) 只有 \(\Theta(\sqrt n)\) 种取值。(应用时,可以认为是 \(2\sqrt n\)

证明

  • \(i\le \sqrt n\) 时,由于 \(i\) 只有 \(\Theta(\sqrt n)\) 种选择,所以只有 \(\Theta(\sqrt n)\) 种取值;
  • \(i\gt \sqrt n\) 时,\(\displaystyle \left\lfloor\frac{n}{i}\right\rfloor\lt \sqrt n\),也只有 \(\Theta(\sqrt n)\) 种取值。
    证毕。

数论分块

引理 3

对于正整数 \(n\),设 \(i\in[1,n]\)。则对于 \(\forall x\in \displaystyle\left[i,\left\lfloor\frac{n}{\left\lfloor\frac{n}{i}\right\rfloor}\right\rfloor\right]\)\(\displaystyle \left\lfloor\frac{n}{x}\right\rfloor=\left\lfloor\frac{n}{i}\right\rfloor\)

证明

函数 \(\displaystyle f(x)=\frac{n}{x}\) 显然是单调递减的。令 \(g(i)=\displaystyle \left\lfloor\frac{n}{\left\lfloor\frac{n}{i}\right\rfloor}\right\rfloor\)

注意到 \(g(i)\ge \left\lfloor\frac{n}{\frac{n}{i}}\right\rfloor=i\)(由下取整函数的性质),所以 \(\displaystyle\left\lfloor\frac{n}{g(i)}\right\rfloor\le \left\lfloor\frac{n}{i}\right\rfloor\)

并且,\(\displaystyle\left\lfloor\frac{n}{g(i)}\right\rfloor\ge \left\lfloor\frac{n}{\frac{n}{\left\lfloor\frac{n}{i}\right\rfloor}}\right\rfloor=\left\lfloor\frac{n}{i}\right\rfloor\),所以 \(\displaystyle \left\lfloor\frac{n}{g(i)}\right\rfloor=\left\lfloor\frac{n}{i}\right\rfloor\)

由于 \(g(i)\ge i\),而在区间 \([i,g(i)]\) 的两端,函数 \(\displaystyle h(i)=\left\lfloor\frac{n}{i}\right\rfloor\) 都有 \(h(i)=h(g(i))\)。由于 \(h\) 的不严格递减性质,引理成立。
证毕。

结合引理 2,我们知道,函数 \(\displaystyle h(i)=\left\lfloor\frac{n}{i}\right\rfloor\) 本质不同的取值一共有 \(\Theta(\sqrt n)\) 种,而且每个取值的区间恰好为 \([l,g(l)]\)。结合这个性质,我们可以在 \(\Theta(\sqrt n)\) 内求出一些和 \(h(i)\) 有关的和式,这个 trick 被称为整除分块

下面我们结合几道例题来对整除分块的应用进行说明。

UVA11526 H(n)

给定 \(nd\),求

\[\sum_{i=1}^{n} \left\lfloor\frac{n}{i}\right\rfloor \]

的值。

\(T\le 10^3\)\(1\le n\lt 2^{31}\)

引理 3 的直接应用,这里给出核心代码。

int ans=0, l=1, r;
while (l<=n) {
    r=n/(n/l);
    ans+=(r-l+1)*(n/l);
    l=r+1;
}

理解了引理 3 后,这段代码是不难理解的。

P2261 [CQOI2007] 余数求和

给定 \(n,k\),求

\[\sum_{1\le i\le n} k\bmod i \]

不难发现 \(\displaystyle k\bmod i=k-i\lfloor\frac{k}{i}\rfloor\)。于是数论分块即可,时间复杂度 \(\Theta(\sqrt n)\)

P3935 Calculating

\(x\) 分解质因数后结果为 \(\prod_{1\le i\le n} p_i^{k_i}\),定义 \(f(x)=\prod_{1\le i\le n} (k_i+1)\),求

\[\sum_{l\le i\le r} f(i) \]

\(f\) 函数实际上求了 \(x\)因数个数(即 \(f(n)=\sigma_0(n)\))。

对于正整数 \(n\)\(p\)\([1,n]\) 内能被 \(p\) 整除的数仅有 \(\lfloor\frac{n}{p}\rfloor\) 个。

(证明:仅有形如 \(1p,2p,\cdots, kp\) 这样的数能被整除。而 \(kp\leq n\iff k\leq \lfloor\frac{n}{p}\rfloor\)。)

然后利用一点前缀和与差分的知识,我们不难得到区间 \([l,r]\) 内能被 \(p\) 整除的数仅有 \(\left(\lfloor\frac{r}{p}\rfloor-\lfloor\frac{l-1}{p}\rfloor\right)\) 个。

那么我们枚举这个 \(p\) 直接算就好了。即

\[\sum_{1\le i\le r} \left(\left\lfloor\frac{r}{i}\right\rfloor-\left\lfloor\frac{l-1}{i}\right\rfloor\right) \]

时间复杂度 \(\Theta(\sqrt n)\)

P2260 [清华集训2012] 模积和

\[\sum_{i=1}^{n} \sum_{j=1}^{m} (n \bmod i) \times (m \bmod j), i \neq j \]

\(19,940,417\) 取模。

不妨设 \(n\leq m\)

首先可以把不相关的部分提出来。对于 \(i\neq j\) 的限制,我们最后减去 \(\sum (n\bmod i)(m\bmod i)\) 即可。

\[\sum_{i=1}^{n} (n\bmod i)\times \sum_{j=1}^{m} (m\bmod j) \]

然后拆开。

\[\sum_{i=1}^n \left(n-i\lfloor\frac{n}{i}\rfloor\right)\times \sum_{j=1}^m \left(m-j\lfloor\frac{m}{j}\rfloor\right) \]

然后就是

\[\left(n^2-\sum_{i=1}^n i\lfloor\frac{n}{i}\rfloor\right)\left(m^2-\sum_{i=1}^m i\lfloor\frac{m}{i}\rfloor\right) \]

对于减掉的式子,我们有

\[\begin{aligned} \sum (n\bmod i)(m\bmod i)&=\sum_{i=1}^{n} (n-i\lfloor\frac{n}{i}\rfloor)(m-i\lfloor\frac{m}{i}\rfloor) \\ &=\sum_{i=1}^{n} (nm-mi\lfloor\frac{n}{i}\rfloor-ni\frac{m}{i}+i^2\lfloor\frac{n}{i}\rfloor\lfloor\frac{m}{i}\rfloor) \end{aligned} \]

可能要用到的公式:

\[\sum_{i=1}^{n} i^2=\frac{n(n+1)(2n+1)}{6} \]

注意,\(19,940,417\) 不是素数。

积性函数

对于算术函数 \(f\),若对于 \(p\bot q\),有 \(f(pq)=f(p)f(q)\) 恒成立,则称 \(f\)积性的

\(\forall p,q\),有 \(f(pq)=f(p)f(q)\) 成立,我们称 \(f\)完全积性的

对于任意积性函数 \(f\),都有 \(f(1)=1\)

证明 任取 \(n\),有 \(f(n)=f(1)f(n)\),得到 \(f(1)=1\)

\(f\) 描述 公式 积性
\(\varepsilon\) 元函数 \(\varepsilon\ast f=f\)\(\mu\ast 1=\varepsilon\) 完全
\(1\) 常值 \(1\) 函数 - 完全
\(\operatorname{Id}\) 恒等函数 \(\varphi\ast \operatorname{Id}=\operatorname{Id}\) 完全
\(\mu\) Mobius 函数 \(f=\mu \ast g\iff g=f\ast 1\) 积性
\(\varphi\) Euler 函数 \(\mu\ast \operatorname{Id}=\varphi\) 积性
\(\sigma_0\) 因数个数函数 \(1\ast 1=\sigma_0\) 积性
\(\sigma_1\) 因数和函数 \(\operatorname{Id}\ast 1=\sigma_1\) 积性

如果你不理解记号的含义,可以先向下阅读。

Dirichlet 卷积

对于数论函数 \(f,g\),定义其 Dirichlet 卷积

\[(f\ast g)(n)=\sum_{d\mid n}f(d)g\left(\frac{n}{d}\right) \]

一些性质:

交换律\(f\ast g=g\ast f\)

证明 由定义立刻得到。

常用数论函数简介

元函数 \(\varepsilon\)

定义

\[\varepsilon(n)=[n=1] \]

元函数是 Dirichlet 卷积意义下的单位元。也就是说,对于任意数论函数 \(f\),有 \(\varepsilon\ast f=f\) (读者自证不难。)

Mobius 函数 \(\mu\)

定义

不妨记正整数 \(n\) 的唯一分解式为 \(n=\prod_{i=1}^{k}p_i^{c_i}\)。则

\[\mu(n)=\begin{cases} 1, & n=1 \\ (-1)^k, & c_1=c_2=\cdots=c_k=1 \\ 0, & \exists i,c_i\ge 2 \end{cases} \]

值得一提的是,Mobius 函数在数论中的容斥性质。事实上,这也是它定义的根本目的。

考虑一个问题:

问题

给定正整数 \(n\),求出与不大于它且它互素的数个数的表达式(即 \(\varphi(n)\)

不妨假设 \(n\) 含有素因子 \(2,3\)。那么 \(\frac{n}{2}\) 就是 \([1,n]\) 中,含有素因子 \(2\) 的数的数量(\(2,4,\cdots,n\));\(\frac{n}{3}\) 就是 \([1,n]\) 中,含有素因子 \(3\) 的数的数量(\(3,6,\cdots,n\));我们把 \(n\) 减去 \(\frac{n}{2}\),减去 \(\frac{n}{3}\),但是你会发现同时是 \(2,3\) 倍数的数减重了,需要加回来。你会发现这就是 Mobius 函数前面的系数。

综上,我们可以得到

重要性质

\[\varphi(n)=\sum_{d\mid n}\mu(d)\cdot \frac{n}{d}=\mu\ast \operatorname{Id} \]

这个性质非常重要,请牢记。

接下来是几个同样重要的性质。

重要性质

\[\mu\ast 1=\varepsilon \]

这个性质非常重要,请牢记。

证明 1 利用后面提到的 Mobius 反演立即得证。

证明 2

\(n=1\) 时显然成立。考虑 \(n=p_1^{c_1}p_2^{c_2}\cdots p_e^{c_e}\gt 1\)\(p_i\) 两两不同)。

那么左边等于 \(\mu(1)+\sum_{i}\mu(p_i)+\sum_{i,j}\mu(p_ip_j)+\cdots+\sum_{1,2,\cdots,e}\mu(p_1p_2\cdots p_e)\)

即为

\[\sum_{k=0}^e {e\choose k} (-1)^{k}=(1-1)^{e}=0 \]

证毕。

推论

\[[i\bot j]=\sum_{d\mid i,d\mid j}\mu(d) \]

这个推论非常重要,请牢记。

证明

\[\begin{aligned} [i\bot j]&=[\gcd(i,j)=1] & \\ &=\varepsilon(\gcd(i,j)) \\ &=\sum_{d\mid \gcd(i,j)} \mu(d) \\ &=\sum_{d\mid i,d\mid j} \mu(d)\\ \square \end{aligned} \]

Euler 函数 \(\varphi\)

定义

对于正整数 \(n\),定义 \(\varphi(n)\) 表示不大于 \(n\) 且与 \(n\) 互素的正整数个数。即

\[\varphi(n)=\sum_{i=1}^n[\gcd(i,n)=1] \]

你可能对 \(\varphi\) 的这个公式已经烂熟于心了:

引理 1

\[\varphi(n)=n\prod_{p\mid n,p\in \mathbb{P}}\frac{p-1}{p} \]

证明 本质上就是引理 2。具体地说:将 \(\displaystyle\frac{p-1}{p}\) 改写为 \(\displaystyle 1-\frac{1}{p}\),然后注意到那个负号实际上就是 Mobius 函数的负号。

但是你还需要知道:

引理 2

\[\varphi(n)=\sum_{d\mid n}\mu(d)\frac{n}{d}=\mu\ast \operatorname{Id} \]

证明\(\mu\) 函数部分。

引理 3

\[n=\sum_{d\mid n}\varphi(d) \]

即,\(\operatorname{Id}=\varphi\ast 1\)

证明 1 由引理 3 和 Mobius 反演立刻可得。

证明 2
考虑分母为 \(n\),分子为 \(1\sim n\)\(n\) 个分数 \(\displaystyle\frac{1}{n},\frac{2}{n},\cdots,\frac{n}{n}\)

将这 \(n\) 个分数全部变成既约的(即,令分子和分母互素)。注意到所有的分母都是 \(n\) 的因数,而且分母为 \(d\) 的分数的数量就是 \(\varphi(d)\)(注意分子和分母互素)。

所以我们得到了

\[n=\sum_{d\mid n}\varphi(d) \]

证毕。

引理 4

\[\varphi(ij)=\frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))} \]

证明

左边就是

\[ij\prod_{p\in \mathbb{P},p\mid i \textcolor{cyan}{\lor} p\mid j}\frac{p-1}{p} \]

右边就是

\[\frac{ij\gcd(i,j)\prod_{p\mid i,p\in \mathbb{P}}\frac{p-1}{p}\prod_{q\mid i,q\in \mathbb{P}}\frac{q-1}{q}}{\gcd(i,j)\prod_{r\in \mathbb{P},r\mid i\textcolor{cyan}{\land} r\mid j}\frac{r-1}{r}} \]

\[\frac{ij\prod_{p\mid i,p\in \mathbb{P}}\frac{p-1}{p}\prod_{q\mid i,q\in \mathbb{P}}\frac{q-1}{q}}{\prod_{r\in \mathbb{P},r\mid i\textcolor{cyan}{\land} r\mid j}\frac{r-1}{r}} \]

对于左边,是对 \(i\) 的素约数或者 \(j\) 的素约数求的,可以理解为 \(|A\cup B|\)。分子对 \(i\) 的素约数和 \(j\) 的素约数求的,可以理解为 \(|A|+|B|\)。分母是对 \(\gcd(i,j)\) 的素约数求的,可以理解为 \(|A\cap B|\)

然后根据容斥原理有 \(|A\cup B|=|A|+|B|-|A\cap B|\)。证毕。

Mobius 反演

定理(Mobius 反演)
对于积性函数 \(f,g\)

\[f=\mu\ast g\iff g=f\ast 1 \]

证明

由定义有 \(f(n)=\sum_{d\mid n}\mu(d)g(\frac{n}{d})\)

\[\begin{aligned} f\ast 1&=\sum_{d\mid n} f(d) \\ &=\sum_{d\mid n} \sum_{d'\mid d} \mu(d') g(\frac{d}{d'}) \\ &=\sum_{d'\mid n} \sum_{d'\mid d} \mu(\frac{d}{d'}) g(d') \\ &=\sum_{d'\mid n}g(d') \sum_{d'\mid d} \mu(\frac{d}{d'}) \\ &=\sum_{d'\mid n}g(d') \sum_{k\mid \frac{n}{d'}} \mu(\frac{kd'}{d'}) \\ \end{aligned} \]

当且仅当 \(\frac{n}{d'}=1\)\(d'=n\) 时,\(\mu\) 有非 \(0\)\(1\)

于是 \(f\ast 1=g\)。证毕。

  • 形式 1

\[f(n)=\sum_{d\mid n} g(d) \iff g(n)=\sum_{d\mid n}\mu(d)g\left(\frac{n}{d}\right) \]

  • 形式 2

\[f(n)=\sum_{\textcolor{red}{n\mid d}} g(d) \iff g(n)=\sum_{n\mid d}\mu(d)g\left(\frac{d}{n}\right) \]

常见应用

我们给出几个常见的形式。以下默认 \(n\leq m\)

  • 形式 1

\[\begin{aligned} \sum_{i=1}^{n}\sum_{j=1}^{m} [i\bot j]&=\sum_{i=1}^{n}\sum_{j=1}^{m} [\gcd(i,j)=1] \\ &=\sum_{i=1}^{n}\sum_{j=1}^{m} \sum_{d\mid i,d\mid j} \mu (d) \\ &=\sum_{d=1}^{n}\sum_{i=1}^{n}\sum_{j=1}^{m} [d\mid i][d\mid j]\mu(d) \\ &=\sum_{d=1}^{n}\sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\sum_{j=1}^{\left\lfloor\frac{m}{d}\right\rfloor} \mu(d) \\ &=\sum_{d=1}^{n} \mu (d)\left\lfloor\frac{n}{d}\right\rfloor\left\lfloor\frac{m}{d}\right\rfloor \end{aligned} \]

利用数论分块,时间复杂度 \(\Theta(\sqrt n)\)

  • 形式 2

\[\begin{aligned} \sum_{i=1}^{n}\sum_{j=1}^{m} \gcd(i,j) &=\sum_{i=1}^{n}\sum_{j=1}^{m} \sum_{d\mid i,d\mid j} \varphi(d) \\ &=\sum_{d=1}^{n}\sum_{i=1}^{n}\sum_{j=1}^{m} [d\mid i][d\mid j]\varphi(d) \\ &=\sum_{d=1}^{n}\sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\sum_{j=1}^{\left\lfloor\frac{m}{d}\right\rfloor} \varphi(d) \\ &=\sum_{d=1}^{n} \varphi (d)\left\lfloor\frac{n}{d}\right\rfloor\left\lfloor\frac{m}{d}\right\rfloor \end{aligned} \]

  • 形式 3

\[\begin{aligned} \sum_{i=1}^{n}\sum_{j=1}^{m} f(\gcd(i,j))&=\sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{d=1}^{n} f(d) [\gcd(i,j)=d] \\ &=\sum_{d=1}^{n}f(d)\sum_{i=1}^{n}\sum_{j=1}^{m} [\gcd(i,j)=d] \\ &=\sum_{d=1}^{n}f(d)\sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\sum_{j=1}^{\left\lfloor\frac{m}{d}\right\rfloor}[\gcd(id,jd)=d] \\ &=\sum_{d=1}^{n}f(d)\sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\sum_{j=1}^{\left\lfloor\frac{m}{d}\right\rfloor}[\gcd(i,j)=1] \\ &=\sum_{d=1}^{n} f(d)\sum_{k=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\mu(k)\left\lfloor\frac{n}{kd}\right\rfloor\left\lfloor\frac{m}{kd}\right\rfloor \end{aligned} \]

\(t=kd\)。于是

\[\begin{aligned} &=\sum_{t=1}^{n}\sum_{d\mid t}f(d)\mu\left(\frac{t}{d}\right) \left\lfloor\frac{n}{t}\right\rfloor\left\lfloor\frac{m}{t}\right\rfloor\\ &=\sum_{t=1}^{n} \left\lfloor\frac{n}{t}\right\rfloor\left\lfloor\frac{m}{t}\right\rfloor\sum_{d=1}^{n} f(d)\mu\left(\frac{t}{d}\right) \end{aligned} \]

预处理后时间复杂度 \(\Theta(n\log n)\sim \Theta(n)\)

行列式 与 数论函数

本部分内容较为进阶,建议在对莫反和行列式的性质比较熟悉后再阅读。

  • 形式 1

对于 \(n\) 阶方阵 \(a_{i,j}=\gcd(i,j)\),求出其行列式。要求做到 \(\Theta(n)\)

不妨手玩一个例子。

\[\begin{aligned} &\begin{vmatrix} 1 & 1 & 1 & 1\\ 1 & 2 & 1 & 2\\ 1 & 1 & 3 & 1\\ 1 & 2 & 1 & 4 \end{vmatrix}\\ =&\begin{vmatrix} 1 & 1 & 1 & 1\\ 0 & 1 & 0 & 1\\ 0 & 0 & 2 & 0\\ 0 & 1 & 0 & 3 \end{vmatrix}=\begin{vmatrix} 1 & 1 & 1 & 1\\ 0 & 1 & 0 & 1\\ 0 & 0 & 2 & 0\\ 0 & 0 & 0 & 2 \end{vmatrix} \end{aligned} \]

我们断言:消元后,有

\[a'_{i,j}=[i\mid j]\varphi(i) \]

我们尝试详细证明结论。

我们采取如下的消元策略:依次考虑第 \(i=1,2,\cdots,n\) 行,我们将第 \(2i,3i,\cdots,ki\) 行减去第 \(i\) 行。

设消完元后的部分为 \(a'\)

假设对于前 \((i-1)\) 行,结论是成立的。那么第 \(i\) 行减去过第 \(k\) 行,当且仅当 \(k\mid i\)。且对于所有的 \(k\nmid j\)\(a'_{k,j}=0\),所以当且仅当 \(k\mid j\) 时有贡献。那么 \(a'_{i,j}=a_{i,j}-\sum_{k\mid i,k\mid j,k\lt i}\varphi(k)\)

\(i\nmid j\) 时,\(\sum_{k\mid i,k\mid j,k\lt i}\varphi(k)=\gcd(i,j)\)。所以减去后 \(a'_{i,j}=0\)

否则 \(\sum_{k\mid i,k\mid j,k\lt i}\varphi(k)=i-\varphi(i)\)。而此时 \(a_{i,j}=\gcd(i,j)=i\),所以减去之后就得到了 \(a'_{i,j}=\varphi(i)\)

而对于第 \(1\) 行,结论显然是成立的。根据数学归纳法,证毕。

  • 形式 2

对于 \(n\) 阶方阵 \(a_{i,j}=\gcd(i,j)^k\),求出其行列式,其中 \(k\) 为常数。要求做到 \(\Theta(n\log n)\) 以下。

继续手玩。当 \(k=2\) 时,

\[\begin{aligned} &\begin{vmatrix} 1 & 1 & 1 & 1\\ 1 & 4 & 1 & 4\\ 1 & 1 & 9 & 1\\ 1 & 4 & 1 & 16 \end{vmatrix}\\ =&\begin{vmatrix} 1 & 1 & 1 & 1\\ 0 & 3 & 0 & 3\\ 0 & 0 & 8 & 0\\ 0 & 3 & 0 & 15 \end{vmatrix}=\begin{vmatrix} 1 & 1 & 1 & 1\\ 0 & 3 & 0 & 3\\ 0 & 0 & 8 & 0\\ 0 & 0 & 0 & 12 \end{vmatrix} \end{aligned} \]

\(k=3\)

\[\begin{aligned} &\begin{vmatrix} 1 & 1 & 1 & 1\\ 1 & 8 & 1 & 8\\ 1 & 1 & 27 & 1\\ 1 & 8 & 1 & 64 \end{vmatrix}\\ =&\begin{vmatrix} 1 & 1 & 1 & 1\\ 0 & 7 & 0 & 7\\ 0 & 0 & 26 & 0\\ 0 & 7 & 0 & 63 \end{vmatrix}=\begin{vmatrix} 1 & 1 & 1 & 1\\ 0 & 7 & 0 & 7\\ 0 & 0 & 26 & 0\\ 0 & 0 & 0 & 56 \end{vmatrix} \end{aligned} \]

利用 OEIS 找出规律:定义 Jordan totient 函数 \(J_k(n)=\sum_{d\mid n} d^k\mu\left(\frac{n}{d}\right)\),则消元后,\(a'_{i,j}=[i\mid j]J_k(i)\)。不难发现 \(k=1\) 的时候退化成了 \(\varphi\)

朴素地枚举倍数是 \(\Theta(n\log n)\) 的。可以优化到 \(\Theta(n)\)

PGCD - Primes in GCD Table

\[\sum_{p\in \mathbb{P}}\sum_{i=1}^{n}\sum_{j=1}^{m} [\gcd(i,j)=p] \]

\[\begin{aligned} \sum_{p\in \mathbb{P}}\sum_{i=1}^{n}\sum_{j=1}^{m} [\gcd(i,j)=p]&=\sum_{p\in \mathbb{P}}\sum_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{p}\rfloor} [\gcd(i,j)=1] \\ &=\sum_{p\in \mathbb{P}}\sum_{d=1}^{\lfloor\frac{n}{p}\rfloor} \mu(d)\lfloor\frac{n}{pd}\rfloor\lfloor\frac{m}{pd}\rfloor \\ \end{aligned} \]

做到这一步已经是 \(\displaystyle \Theta(T\frac{n}{\ln n})\) 的了。不过我们还可以更进一步。

\(t=pd\),则原式等价于

\[\sum_{t=1}^{n}\lfloor\frac{n}{t}\rfloor\lfloor\frac{m}{t}\rfloor\sum_{p\mid t, p\in \mathbb{P}}\mu(\frac{t}{p}) \]

\(f(t)=\sum_{p\mid t, p\in \mathbb{P}} \mu(\frac{t}{p})\)。如果能快速预处理出 \(f\) 就可以在 \(\Theta(T\sqrt n)\) 内解决本题。

一方面可以枚举所有素数的倍数来预处理。这样是 \(\Theta(n\log \log n)\) 的。

下面我们进行分讨。以下设 \(x\) 的最小素因子为 \(y\),且 \(x=iy\)

  1. \(x\in \mathbb{P}\)\(x=1\)

显然有 \(f(x)=1\)

  1. \(i\bmod y=0\)

\(\sum_{p\mid iy} \mu(\frac{iy}{p})\) 当且仅当 \(p=y\) 时可能不为 \(0\)。那么有 \(f(x)=\mu(i)\)

  1. \(i\bmod y\neq 0\)

我们有 \(f(\frac{iy}{p})=-f(\frac{i}{p})\),因此 \(f(i)\) 中的每一项都在 \(f(x)\) 中有对应项。当 \(p=y\) 时,\(\mu(i)\) 会有额外的贡献(因为多了素因子 \(y\))。于是 \(f(x)=\mu(i)-f(i)\)

综上

\[f(x)=\begin{cases} 1 & x\in \mathbb{P} \\ \mu(i) & i\bmod y=0 \\ -f(i)+\mu(i) & i\bmod i\neq 0 \end{cases} \]

时间复杂度 \(\Theta(n\log \log n)\sim \Theta(\sqrt n)\)\(\Theta(n)\sim \Theta(\sqrt n)\)

GCDMAT - GCD OF MATRIX

\[\sum_{i=i_1}^{i_2}\sum_{j=j_1}^{j_2} \gcd(i,j) \]

直接拆成四个询问,套用形式 2 即可。\(\Theta(T\sqrt n)\)

P3327 [SDOI2015] 约数个数和

\(d(x)\)\(x\) 的约数个数,给定 \(n,m\),求

\[\sum_{i=1}^n\sum_{j=1}^md(ij) \]

我们知道

\[d(n)=\sum_{d\mid n} 1 \]

我们有 \(d(n)\) 的特殊性质

\[d(ij)=\sum_{x\mid i}\sum_{y\mid j} [\gcd(x,y)=1] \]

则有

\[\begin{aligned} \sum_{i=1}^{n}\sum_{j=1}^m\sum_{x\mid i}\sum_{y\mid j} [\gcd(x,y)=1]&=\sum_{x=1}^{n}\sum_{y=1}^{m}\sum_{i=1}^{\lfloor\frac{n}{x}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{y}\rfloor} [\gcd(x,y)=1] \\ &=\sum_{x=1}^{n}\sum_{y=1}^{m}\lfloor\frac{n}{x}\rfloor\lfloor\frac{m}{y}\rfloor [\gcd(x,y)=1] \\ &=\sum_{d=1}^{n}\mu(d)\sum_{x=1}^{n} \lfloor\frac{n}{x}\rfloor \sum_{y=1}^{m} \lfloor\frac{m}{y}\rfloor \end{aligned} \]

时间复杂度 \(\Theta(n+T\sqrt{n})\)

P2714 四元组统计

给定正整数数列 \(a_i\)(长度为 \(n\)),求出有多少个四元组 \((i,j,k,l)\) 满足 \(\gcd(a_i,a_j,a_k,a_l)=1\)

\(n\le 10^4\)\(T\le 100\)

不妨设 \(cnt_k=\sum_{i=1}^n[a_i=k]\)\(V=10^4\)

设满足 \(d\mid \gcd(a_i,a_j,a_k,a_l)\) 的四元组个数为 \(f(d)\),显然 \(\displaystyle f(d)={{\sum_{d\mid n}} cnt_n\choose 4}\)。设满足 \(\gcd(a_i,a_j,a_k,a_l)=d\) 的四元组个数为 \(g(d)\),则 \(\displaystyle f(d)=\sum_{d\mid n} g(n)\iff g(d)=\sum_{d\mid n}\mu\left(\frac{n}{d}\right) f(n)\)

注意这里利用了莫反的形式 2。

\[f(n)=\sum_{\textcolor{red}{n\mid d}} g(d) \iff g(n)=\sum_{n\mid d}\mu(d)g\left(\frac{d}{n}\right) \]

时间复杂度 \(\Theta(Tn\log n)\)

P5221 Product

\[\prod_{i=1}^n\prod_{j=1}^n\frac{\operatorname{lcm}(i,j)}{\gcd(i,j)} \]

\(104,857,601\) 取模。

\(200 \texttt{ms},7.81\texttt{MB}\)\(n\leq 10^6\)

[RC-02] GCD

\[\sum_{i=1}^n\sum_{j=1}^n\sum_{p=1}^{\lfloor\frac{n}{j}\rfloor}\sum_{q=1}^{\lfloor\frac{n}{j}\rfloor}[\gcd(i,j)=1][\gcd(p,q)=1] \]

其中 \(n\leq 2\times 10^9\)

\[\sum_{i=1}^n\sum_{j=1}^n\sum_{p=1}^{\lfloor\frac{n}{j}\rfloor}\sum_{q=1}^{\lfloor\frac{n}{j}\rfloor}[\gcd(i,j)=1][\gcd(p,q)=1] \\ \begin{aligned} &=\sum_{i=1}^n\sum_{j=1}^n\sum_{p=1}^{n}\sum_{q=1}^{n}[\gcd(i,j)=1][\gcd(p,q)=j] \\ &=\sum_{i=1}^n\sum_{p=1}^{n}\sum_{q=1}^{n}[\gcd(i,p,q)=1] \\ &=\sum_{d=1}^{n} \mu(d)\lfloor\frac{n}{d}\rfloor^3 \end{aligned} \]

使用杜教筛维护,时间复杂度 \(\Theta(n^{\frac{2}{3}})\)

LOJ #6491「XXOI 2018」简单的最大公约数

简单反演一下。

\[\begin{aligned} &=\sum_{i_1=1}^m\sum_{i_2=1}^m\cdots\sum_{i_n=1}^m \sum_{d\mid i_1,d\mid i_2,\cdots,d\mid i_n} \varphi(d) \\ &=\sum_{d=1}^m \varphi(d) \sum_{i_1=1}^m[d\mid i_1]\sum_{i_2=1}^m[d\mid i_2]\cdots\sum_{i_n=1}^m[d\mid i_n] \\ &=\sum_{d=1}^m \varphi(d) \left\lfloor\frac{m}{d}\right\rfloor^n \end{aligned} \]

P3768 简单的数学题

\[\sum_{i=1}^n\sum_{j=1}^n ij \gcd(i,j) \]

\(n\leq 10^{10}\)

\[\begin{aligned} \sum_{i=1}^n\sum_{j=1}^n ij \gcd(i,j)&= \sum_{i=1}^n \sum_{j=1}^n ij \sum_{d\mid i,d\mid j} \varphi(d) \\ &=\sum_{d=1}^{n}\varphi(d)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}(id)(jd)\\ &=\frac{1}{4}\sum_{d=1}^{n}\varphi(d) d^2 \left\{\lfloor\frac{n}{d}\rfloor\left(\lfloor\frac{n}{d}\rfloor+1\right) \right\}^2\\ &=\frac{1}{4}\sum_{d=1}^{n}\varphi(d) d^2\left(\lfloor\frac{n}{d}\rfloor^2+\lfloor\frac{n}{d}\rfloor\right)^2 \end{aligned} \]

使用杜教筛维护。时间复杂度 \(\Theta(n^{\frac{2}{3}})\)

P3172 [CQOI2015] 选数

\[\sum_{i_1=l}^{r}\sum_{i_2=l}^r\cdots\sum_{i_n=l}^r [\gcd(i_1,i_2,\cdots,i_n)=k] \]

\(r-l\leq 10^5\)\(n,k\leq 10^9\)

不妨先计算出 \(i\in [1,r]\) 的答案再减去 \(i\in [1,l-1]\) 的答案。以下令 \(\displaystyle n:=\lfloor\frac{r}{k}\rfloor\)

\[\sum_{i_1=1}^{r}\sum_{i_2=1}^r\cdots\sum_{i_n=1}^r [\gcd(i_1,i_2,\cdots,i_n)=k] \\ \begin{aligned} &=\sum_{i_1=1}^{n}\sum_{i_2=1}^{n}\cdots\sum_{i_n=1}^{n} [\gcd(i_1,i_2,\cdots,i_n)=1] \\ &=\sum_{i_1=1}^{n}\sum_{i_2=1}^{n}\cdots\sum_{i_n=1}^{n}\sum_{d\mid i_1,d\mid i_2,\cdots, d\mid i_n} \mu(d) \\ &=\sum_{d=1}^{n}\mu(d)\sum_{i_1=1}^{n}\sum_{i_2=1}^{n}\cdots\sum_{i_n=1}^{n}[d\mid i_1][d\mid i_2]\cdots[d\mid i_n] \\ &=\sum_{d=1}^{n}\mu(d)\lfloor\frac{n}{d}\rfloor^n \end{aligned} \]

对于 \([1,l-1]\) 的计算同理。时间复杂度 \(\Theta(n^{\frac{2}{3}}\log n)\)

以上是错误的解法。正确的解法:令 \(L=\lceil\frac{l}{k}\rceil\)\(R=\lfloor\frac{r}{k}\rfloor\)。于是有

\[\sum_{i_1=l}^{r}\sum_{i_2=l}^r\cdots\sum_{i_n=l}^r [\gcd(i_1,i_2,\cdots,i_n)=k] \\ \begin{aligned} &=\sum_{i_1=L}^{R}\sum_{i_2=L}^{R}\cdots\sum_{i_n=L}^{R} [\gcd(i_1,i_2,\cdots,i_n)=1] \\ &=\sum_{i_1=L}^{R}\sum_{i_2=L}^{R}\cdots\sum_{i_n=L}^{R}\sum_{d\mid i_1,d\mid i_2,\cdots, d\mid i_n} \mu(d) \\ &=\sum_{d=1}^{R}\mu(d)\sum_{i_1=L}^{R}\sum_{i_2=L}^{R}\cdots\sum_{i_n=L}^{R}[d\mid i_1][d\mid i_2]\cdots[d\mid i_n] \\ &=\sum_{d=1}^{R}\mu(d)\left(\lfloor\frac{R}{d}\rfloor-\lfloor\frac{L-1}{d}\rfloor\right)^n \end{aligned} \]

可以用杜教筛维护。

P4318 完全平方数

求出第 \(k\) 个不含素平方因子的数。

\(T\le 50\)\(k\le 10^9\)

我们有结论:

\([1,n]\) 中,\(\mu(i)\neq 0\) 的数(即不含素平方因子的数)的数量约为 \(\dfrac{6}{\pi^2}n\)。(巴塞尔问题)

于是二分是显然的。于是我们需要求

\[\sum_{i=1}^n f(i) \]

其中 \(f(i)\) 代表 \(i\) 是否含有素平方因子。

解法 1

考虑 Mobius 函数。

删去 \(2^2\) 的倍数,删去 \(3^2\) 的倍数,则 \((2\times 3)^2\) 的倍数被删了两次,需要加回来。

于是就是

\[\sum_{i=1}^{\left\lfloor\sqrt n\right\rfloor} \mu(i)\left\lfloor\frac{n}{i^2}\right\rfloor \]

直接计算答案,时间复杂度 \(\Theta(T\sqrt n \log n)\)

运用二次方数论分块August_Light)可以将时间复杂度优化到 \(\Theta(\sqrt n+Tn^{0.4}\log n)\)(来源:UOJ 群)。

解法 2

注意到 \(f(i)=\mu(i)^2\)。于是我们只需要快速求出 \(\mu^2\) 的前缀和。

考虑杜教筛

\(f=\mu^2\),有一个很神仙的想法就是构造 \(g(n)=[\exists x\in \mathbb{N}^{*}, x^2=n]\)

引理

\[(f\ast g)(n)=1 \]

证明

原式即为

\[\sum_{d\mid n} g(n) \mu\left(\frac{n}{d}\right)^2 \]

\(n\) 的最大平方因子是 \(1\) 时显然成立。以下设 \(n\) 的最大平方因子非 \(1\)

  • \(d\) 取到 \(n\)最大平方因子的时候,\(g(n)=\mu\left(\dfrac{n}{d}\right)^2=1\)

  • \(d\) 取到 \(n\)非最大平方因子的时候,\(\mu\left(\dfrac{n}{d}\right)^2=0\),从而这一项贡献为 \(0\)

  • \(d\) 取到非平方数的时候,\(g(d)=0\)

证毕。

于是 \((f\ast g)(n)\) 的前缀和就是 \(\operatorname{Id}\) 是极易求的。那么套用杜教筛的表达式就是

\[g(1)S(n)=\sum_{i=1}^n(f\ast g)(i)-\sum_{i=2}^{n}g(i)S\left(\left\lfloor\frac{n}{i}\right\rfloor\right) \]

但是你会发现 \(g(i)\) 的前缀和不好求。不过我们可以挖掘性质,换一种枚举方式

\[\begin{aligned} S(n)&=n-\sum_{i=2}^{\left\lfloor\sqrt n\right\rfloor} g(i^2)S\left(\left\lfloor\frac{n}{i^2}\right\rfloor\right) \\ &=n-\sum_{i=2}^{\left\lfloor\sqrt n\right\rfloor} S\left(\left\lfloor\frac{n}{i^2}\right\rfloor\right) \end{aligned} \]

然后直接做就可以了。单次时间复杂度应该是低于 \(\Theta(n^{\frac{2}{3}})\) 的。

CF1139D Steps to One

一个初始为空的数列,每次随机选一个 \([1,m]\) 之间的整数加到数列中,当数列中所有数的 \(\gcd\)\(1\) 的时候停止。求数列长度的期望。

解法 1

长度为 \(n\) 的序列,\(\gcd\)\(1\) 的方案数有

\[\begin{aligned} &\sum_{a_1=1}^m\cdots\sum_{a_n=1}^m[\gcd(a_1,\cdots,a_n)=1] \\ =&\sum_{a_1=1}^m\cdots\sum_{a_n=1}^m\sum_{d\mid a_1,\cdots,d\mid a_n}\mu(d) \\ =&\sum_{d=1}^m\mu(d)\left\lfloor\frac{m}{d}\right\rfloor^n \end{aligned} \]

注意,这是长度不大于 \(n\) 的序列中,序列 \(\gcd\)\(1\) 的方案数。

不妨记为 \(f(n)\)(规定 \(f(0)=0\))。则答案为

\[\sum_{i=1}^{+\infty} i\cdot \frac{f(i)-f(i-1)}{m^i} \]

但是你发现这样求不了一点。我们考虑从期望的性质着手。

\[\begin{aligned} \mathbb{E}[x]&=\sum_{i\ge 1}i\cdot \operatorname{Prob}(x=i) \\ &=\sum_{i\ge 1}\operatorname{Prob}(x=i)\sum_{j=1}^i 1 \\ &=\sum_{j\ge 1}\sum_{i\ge j} \operatorname{Prob}(x=i) \\ &=\sum_{j\ge 1} \operatorname{Prob}(x\ge j) \\ &=\sum_{j\ge 1} \left[\operatorname{Prob}(x= j) +\operatorname{Prob}(x\gt j)\right] \\ &=1+\sum_{j\ge 1} \left[1-\operatorname{Prob}(x\le j)\right] \\ &=1+\sum_{j\ge 1} \left[1-\frac{\sum_{d=1}^m\mu(d)\left\lfloor\frac{m}{d}\right\rfloor^j}{m^j}\right] \\ &=1+\sum_{j\ge 1} \left[-\frac{\sum_{d=2}^m\mu(d)\left\lfloor\frac{m}{d}\right\rfloor^j}{m^j}\right] \\ &=1-\sum_{d=2}^m \mu(d)\sum_{j\ge 1}\left[\frac{1}{m}\left\lfloor\frac{m}{d}\right\rfloor\right]^j \\ &=1-\sum_{d=2}^m \mu(d)\left[1-\frac{1}{1-\frac{1}{m}\left\lfloor\frac{m}{d}\right\rfloor}\right]\\ &=1-\sum_{d=2}^m \mu(d)\frac{\left\lfloor\frac{m}{d}\right\rfloor}{m-\left\lfloor\frac{m}{d}\right\rfloor} \end{aligned} \]

可以 \(\Theta(m^{\frac{2}{3}})\) 甚至 \(\Theta(m)\) 计算。

解法 2

不妨设 \(f[i]\) 为数列 \(\gcd\)\(i\) 的期望长度。

不难想到

\[f[n]=1+\frac{1}{m}\sum_{i=1}^{m}f[\gcd(n,i)] \]

\([1,m]\) 内,满足 \(\gcd(i,n)=a\) 的数的数量为 \(g(n,a)\)。设 \([1,n]\) 内,与 \(i\) 互素的数的数量为 \(h(n,i)\)。那么显然有 \(g(n,a)=h(\left\lfloor\frac{m}{a}\right\rfloor,\lfloor\frac{n}{a}\rfloor)\)。那么考虑求出所有有效的 \(h(n,i)\)。显然 \(i\cdot n\le m\),我们求出所有的 \(\Theta(m\log m)\)\(h(n,i)\),即可 \(\Theta(1)\) 推出 \(g\) 的值。

于是,我们的式子变成了

\[f[n]=1+\frac{1}{m}\sum_{d\mid n} g(m,d)\cdot f[d] \]

\(d=n\) 的部分判掉,我们得到

\[\left[1-\frac{g(m,m)}{m}\right]f[n]=1+\frac{1}{m}\sum_{d\mid n,d\lt n} g(m,d)\cdot f[d] \]

于是就可以直接递推。答案是 \(\displaystyle 1+\frac{1}{m}\sum_{i=1}^m f[i]\)

最后考虑如何计算 \(h(n,a)\)

\[\begin{aligned} h(n,a)&=\sum_{i=1}^n [\gcd(i,a)=1] \\ &=\sum_{i=1}^n\sum_{d\mid i,d\mid a} \mu(d) \\ &=\sum_{d\mid a}\mu(d)\sum_{d\mid i,i\le n} 1 \\ &=\sum_{d\mid a}\mu(d)\left\lfloor\frac{n}{d}\right\rfloor \end{aligned} \]

于是就做完了。

P7504 「HMOI R1」可爱的德丽莎

给定 \(n,A,B\),求

\[\sum_{x = 1}^n\sum_{y = 1}^n\sum_{i = 1}^x[x \bot A][i \bot x]\cdot i\cdot \sum_{j = 1}^y[y \bot B][j \bot y]\cdot j \]

\(998,422,353\) 取模。

\(1 \le n, k_1, k_2 \le 2 \times 10^9\)

警示后人:不要像我一样看错题,导致三天都没想出来怎么写。

首先定义

\[f(n,A)=\sum_{i=1}^n[i\bot A]\sum_{j=1}^i j[j\bot i] \]

注意到原式即为 \(f(n,A)\cdot f(n,B)\)。我们只需要考虑怎么求出 \(f(n,A)\) 即可。

下面的推导中,记 \(\operatorname{s}_k(n)=\sum_{i=1}^n i^k\)

\[\begin{aligned} f(n,A)&=\sum_{i=1}^n[\gcd(i,A)=1]\sum_{j=1}^i j[\gcd(i,j)=1] \\ &=\sum_{i=1}^n[\gcd(i,A)=1]\sum_{j=1}^i j\sum_{d\mid i,d\mid j} \mu(d) \\ &=\sum_{i=1}^n[\gcd(i,A)=1]\sum_{d\mid i}\mu(d)\sum_{d\mid j,j\le i} j \\ &=\sum_{i=1}^n[\gcd(i,A)=1]\sum_{d\mid i}d\cdot \mu(d)\cdot \operatorname{s}_1\left(\frac{i}{d}\right) \\ &=\frac{1}{2}\sum_{i=1}^n[\gcd(i,A)=1]\sum_{d\mid i}d\cdot \mu(d)\cdot \frac{i}{d}\left(\frac{i}{d}+1\right) \\ &=\frac{1}{2}\sum_{i=1}^n[\gcd(i,A)=1]i\sum_{d\mid i}\mu(d)\left(\frac{i}{d}+1\right) \\ &=\frac{1}{2}\sum_{i=1}^n[\gcd(i,A)=1]i\left[\sum_{d\mid i}\mu(d)\cdot \frac{i}{d}+\sum_{d\mid i}\mu(d)\right] \\ &=\frac{1}{2}\sum_{i=1}^n[\gcd(i,A)=1]\left(i\cdot \varphi(i)+i\cdot \varepsilon(i)\right) \\ &=\frac{1}{2}+\frac{1}{2}\sum_{i=1}^n[\gcd(i,A)=1]i\cdot \varphi(i) \end{aligned} \]

考虑到 \(g(n)={[\gcd(n,A)=1]}i\cdot \varphi(i)=\epsilon(\gcd(i,A))\cdot i\cdot \varphi(i)\) 是一个积性函数。数据范围比较大,考虑用杜教筛求前缀和。

注意到 \((\operatorname{Id}\cdot \varphi)\ast \operatorname{Id}=\operatorname{Id}^2\),且注意到 \(\varepsilon(\gcd(i,A))\)完全积性的。那么,

\[\begin{aligned} (\varepsilon(\gcd)\cdot \operatorname{Id}\cdot \varphi)\ast (\varepsilon(\gcd)\cdot \operatorname{Id})&= \sum_{d\mid n} \varepsilon(\gcd(d,A))\cdot d\cdot \varphi(d)\frac{n}{d}\varepsilon\left(\gcd(\frac{n}{d},A)\right) \\ &=n\sum_{d\mid n}\varepsilon\left(\gcd(d,A)\gcd\left(\frac{n}{d},A\right)\right)\varphi(d) \\ &=\varepsilon(\gcd(n))\cdot n^2 \\ &=\varepsilon(\gcd)\cdot \operatorname{Id}^2 \end{aligned} \]

于是令 \(h=\varepsilon(\gcd)\cdot \operatorname{Id}\)\(g\ast h=\varepsilon(\gcd)\cdot \operatorname{Id}^2\)。考虑两者的前缀和。

\[\begin{aligned} \sum_{i=1}^n h(i)&=\sum_{i=1}^n i\sum_{d\mid i,d\mid A} \mu(d) \\ &=\sum_{d\mid A}d\cdot \mu(d)\cdot \operatorname{s}_1\left(\left\lfloor\frac{n}{d}\right\rfloor\right) \end{aligned} \]

同理,$g\ast h=\sum_{d\mid A}d^2\cdot \mu(d)\cdot\operatorname{s}_2\left(\left\lfloor\frac{n}{d}\right\rfloor\right) $。

然后就可以完成此题了。

P5218 无聊的水题 II

\(1\sim N\) 中选择若干个数,使得它们可以线性组合出任意整数。求选择的方案数,对 \((10^9+7)\) 取模。

\(N\le 10^{11}\)。部分分:\(N\le 10^7\)

\(\texttt{6s,512MB}\)

显然就是选取若干个数,使得其 \(\gcd\)\(1\)

假设选出了 \(n\) 个数,那么很容易列出式子:

\[\sum_{a_1=1}^N\sum_{a_2=a_1+1}^{N}\cdots\sum_{a_n=a_{n-1}+1}^N[\gcd(a_1,a_2,\cdots,a_n)=1] \]

最后很容易能够反演出来是

\[\sum_{d=1}^N \mu(d){\left\lfloor\frac{N}{d}\right\rfloor\choose n} \]

然后简单处理一下(注意到只需要处理 \(n\le \lfloor\frac{N}{d}\rfloor\) 的部分),就可以通过 \(N\le 10^7\) 的数据,拿到 \(60\) 分。

但是这个做法是没有前途的。

考虑容斥。设 \(g(i)\) 为选出若干个数使得 \(\gcd=i\) 的方案数,\(f(i)\) 为选出若干个数使得 \(i\mid \gcd\) 的方案数。

简单反演一下可以得到

\[g(i)=\sum_{d\mid i}\mu\left(\frac{i}{d}\right)f(d) \]

然后显然有 \(f(i)=2^{\lfloor\frac{N}{i}\rfloor}-1\)。于是我们得到答案:

\[\sum_{i=1}^N\mu(i)\left(2^{\lfloor\frac{N}{i}\rfloor}-1\right) \]

利用杜教筛维护即可,时间复杂度 \(\Theta(n^{\frac{2}{3}})\)

P4449 于神之怒加强版

\[\sum_{i=1}^n \sum_{j=1}^m \gcd(i,j)^k \]

\(n\leq m\)

不难想到

\[\begin{aligned} \sum_{i=1}^n \sum_{j=1}^m \gcd(i,j)^k&=\sum_{i=1}^n\sum_{j=1}^{m}\sum_{d\mid i,d\mid j}d^k[d=\gcd(i,j)] \\ &=\sum_{i=1}^n\sum_{j=1}^{m}\sum_{d\mid i,d\mid j}d^k[d=\gcd(i,j)] \\ &=\sum_{d=1}^n d^k\sum_{i=1}^n \sum_{j=1}^m [\gcd(i,j)=d] \\ &=\sum_{d=1}^n d^k \sum_{p=1}^{\lfloor\frac{n}{d}\rfloor} \mu(p)\lfloor\frac{n}{pd}\rfloor\lfloor\frac{m}{pd}\rfloor \end{aligned} \]

不妨设 \(t=pd\)

\[\begin{aligned} &=\sum_{t=1}^{n}\lfloor\frac{n}{t}\rfloor\lfloor\frac{m}{t}\rfloor\sum_{d\mid t} \mu\left(\frac{t}{d}\right)d^k \end{aligned} \]

不妨设 \(f(n)=\sum_{d\mid n} \mu(\frac{n}{d})d^k\)。考虑快速求出 \(f\)

以下设 \(y\)\(x\) 的最小素因子,且 \(x=iy\)

  • \(f=1\)\(f\in \mathbb{P}\)

显然有 \(f(x)=x^k\)

  • \(i\bmod y=0\)

\(f(x)=f(i)\)

  • \(i\bmod y\neq 0\)

\(f(x)=f(y)-f(i)\)

P6825 「EZEC-4」求和

\[\displaystyle\sum_{i = 1}^n \sum_{j = 1}^n \gcd(i,j)^{i + j} \]

不妨令 \(\displaystyle N:=\lfloor\frac{n}{d}\rfloor\)

错误的解法

\[ \begin{aligned} \sum_{i=1}^n\sum_{j=1}^n \gcd(i,j)^{i+j}&=\sum_{d=1}^n \mu(d)\sum_{i=1}^n\sum_{j=1}^n [d\mid i][d\mid j]d^id^j \\ &=\sum_{d=1}^n \mu(d)\sum_{i=1}^{N}\sum_{j=1}^{N} d^{id} d^{jd} \\ &=\sum_{d=1}^n \mu(d) \left(\frac{d^{(N+1)d}-d^d}{d^d-1}\right)^2 \end{aligned} \]

\[\begin{aligned} \sum_{i=1}^n\sum_{j=1}^n \gcd(i,j)^{i+j}&=\sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^n d^{i+j}[\gcd(i,j)=d] \\ &=\sum_{d=1}^n\sum_{i=1}^N\sum_{j=1}^N d^{(i+j)d}[\gcd(i,j)=1] \\ &=\sum_{d=1}^n\sum_{i=1}^{N}\sum_{j=1}^N d^{(i+j)d}\sum_{p\mid i,p\mid j} \mu(p) \\ &=\sum_{d=1}^n\sum_{p=1}^{N} \mu(p) \sum_{i=1}^N\sum_{j=1}^N d^{(i+j)d} \\ &=\sum_{d=1}^n\sum_{p=1}^{N} \mu(p) \sum_{i=1}^{\lfloor\frac{N}{p}\rfloor}\sum_{j=1}^{\lfloor\frac{N}{p}\rfloor} d^{(i+j)dp} \end{aligned} \]

let \(t=dp\)

\[\begin{aligned} &=\sum_{d=1}^n\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor} \mu(p) \sum_{i=1}^{\lfloor\frac{n}{t}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{t}\rfloor} d^{(i+j)t} \\ &=\sum_{d=1}^n\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor} \mu(p) \left[\sum_{i=1}^{\lfloor\frac{n}{t}\rfloor} (d^{t})^{i}\right]^2 \end{aligned} \]

后一部分是 \(\Theta(\log n)\) 的等比数列求和。前面是 \(\Theta(n\log n)\) 的调和级数。

可以证明是 \(\Theta(n\log n)\) 的。你要说是 \(\mathcal{O}(n^{114})\) 也没错。

P7575 「PMOI-3」公约数

题目中给出的形式不方便反演。不妨先考虑一个计数 dp。

\(f(i,j)\) 为考虑了前 \(i\) 个数,其中第 \(i\) 个数是 \(j\) 的合法方案数。

初值:\(f(1,j)=[x_1\mid j]\)

转移:

\[f(i,k)=\sum_{x_{i-1}\mid j} [\gcd(j,k)=x_{i-1}] f(i-1,j) \]

直接开始莫反。

\[\begin{aligned} f(i,k)&=\sum_{x_{i-1}\mid j} [\gcd(j,k)=x_{i-1}] f(i-1,j) \\ &=\sum_{j=1}^{\lfloor\frac{m}{x_{i-1}}\rfloor} [\gcd\left(j,\frac{k}{x_{i-1}}\right)=1] f(i-1,j\cdot x_{i-1}) \\ &=\sum_{j=1}^{\lfloor\frac{m}{x_{i-1}}\rfloor} f(i-1,j\cdot x_{i-1}) \sum_{p\mid j,p\mid \frac{k}{x_{i-1}}} \mu(p)\\ &=\sum_{p\mid \frac{k}{x_{i-1}}}\mu(p)\sum_{p\cdot x_{i-1}\mid k} f(i-1,k) \\ \end{aligned} \]

注意到这是一个 Dirichlet 前/后缀和的形式,我们在 dp 时维护它即可。时间复杂度 \(\Theta(m\log m\log \log m)\)

P1829 [国家集训队] Crash的数字表格 / JZPTAB

\[\sum_{i=1}^n \sum_{j=1}^m \operatorname{lcm}(i,j) \]

\(s(x)=\frac{1}{2}x(x+1)\)

\[\begin{aligned} \sum_{i=1}^n \sum_{j=1}^m \operatorname{lcm}(i,j) &= \sum_{i=1}^n \sum_{j=1}^m \frac{ij}{\gcd(i,j)} \\ &=\sum_{i=1}^n \sum_{j=1}^m ij \sum_{d=1}^n [d=\gcd(i,j)]\frac{1}{d} \\ &=\sum_{d=1}^n \sum_{i=1}^{\lfloor \frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor} ijd [\gcd(i,j) =1] \\ &=\sum_{d=1}^n d\sum_{i=1}^{\lfloor \frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor} ij \sum_{k\mid i,k\mid j} \mu(k) \\ &=\sum_{d=1}^n d\sum_{k=1}^{\lfloor\frac{n}{d}\rfloor}\mu(k)k^2\sum_{i=1}^{\lfloor \frac{n}{kd}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{kd}\rfloor} ij \\ &=\sum_{d=1}^{n}d\sum_{k=1}^{\lfloor\frac{n}{d}\rfloor} \mu(k)k^2\cdot s(\lfloor\frac{n}{kd}\rfloor) s(\lfloor\frac{m}{kd}\rfloor) \end{aligned} \]

let \(t=kd\),有

\[\begin{aligned} &=\sum_{t=1}^{n}s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)\sum_{d\mid t} d \mu(\frac{t}{d})\cdot (\frac{t}{d})^2 \\ &=\sum_{t=1}^{n}t\cdot s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor) \sum_{d\mid t}\mu(\frac{t}{d})\cdot (\frac{t}{d}) \end{aligned} \]

考虑 \(\mu\ast \operatorname{Id}\) 的求法。

\(n=1\) 时,显然为 \(1\)

\(n\in \mathbb{P}\) 时,显然有 \(f(n)=1-p\)

\(i\bmod y=0\) 时,显然有 \(f(n)=f(i)\)

否则 \(f(n)=f(i)f(y)\)。然后就做完了。

P6156 简单题

\[\sum_{i=1}^n\sum_{j=1}^n(i+j)^kf(\gcd(i,j))\gcd(i,j) \]

其中 \(f(n)=[\forall p\in \mathbb{P}, p^2\nmid n]\)

\[\sum_{i=1}^n\sum_{j=1}^n(i+j)^kf(\gcd(i,j))\gcd(i,j) \\ \begin{aligned} &=\sum_{i=1}^n\sum_{j=1}^n(i+j)^k \sum_{d\mid i,d\mid j} [d=\gcd(i,j)] d\cdot f(d) \\ &=\sum_{d=1}^n d^{k+1}\cdot f(d)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}(i+j)^k[\gcd(i,j)=1] \\ &=\sum_{d=1}^n d^{k+1}\cdot f(d)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}(i+j)^k\sum_{p\mid i,p\mid j} \mu(p) \\ &=\sum_{d=1}^{n} d^{k+1}\cdot f(d)\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor}\mu(p)p^k\sum_{i=1}^{\lfloor\frac{n}{pd}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{pd}\rfloor} (i+j)^k \end{aligned} \]

let \(s(n)=\sum_{i=1}^n\sum_{j=1}^n (i+j)^k\)\(t=pd\),此外不难发现 \(f(n)=\mu(n)^2\)

不难发现

\[\begin{aligned} &=\sum_{d=1}^{n} d^{k+1}\cdot \mu(d)^2\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor}\mu(p)p^k\cdot s(\lfloor\frac{n}{pd}\rfloor) \\ &=\sum_{t=1}^{n} s(\lfloor\frac{n}{t}\rfloor)\sum_{d\mid t} d^{k+1}\cdot \mu(d)^2 \cdot \mu(\frac{t}{d})\cdot (\frac{t}{d})^k \\ &=\sum_{t=1}^{n} s(\lfloor\frac{n}{t}\rfloor)\sum_{d\mid t} d\cdot \mu(d)^2 \cdot \mu(\frac{t}{d})\cdot t^k \end{aligned} \]

考虑令 \(g(n)=\sum_{d\mid n} d\cdot \mu(d)^2 \cdot \mu(\frac{n}{d})\cdot n^k\)。不难证明其为积性函数。

对于 \(s(n)\),令 \(p(n)=\sum_{i=1}^n i^k\)\(q(n)=\sum_{i=1}^n p(n)\),不难观察到

\[s(n)=\sum_{i=1}^{n} \left[p(n+i)-p(i)\right]=q(2n)-2q(n) \]

然后就做完了。

GCDMAT2 - GCD OF MATRIX (hard)

\[\sum_{i=i_1}^{i_2}\sum_{j=j_1}^{j_2}\gcd(i,j) \]

数据组数 \(T\leq 5\times 10^4\)\(i_2,j_2\leq 10^6\)

P7486 「Stoi2031」彩虹

\[\prod_{i=l}^{r}\prod_{j=l}^{r} \operatorname{lcm}(i,j)^{\operatorname{lcm}(i,j)} \bmod 32465177 \]

化式子。我们只需要考虑 \(\prod_{i=1}^{n}\prod_{j=1}^m\) 的情况,理由显然。

\[\begin{aligned} \prod_{i=1}^{n}\prod_{j=1}^{m} \operatorname{lcm}(i,j)^{\operatorname{lcm}(i,j)}&=\prod_{d=1}^{n}\prod_{i=1}^{\lfloor\frac{n}{d}\rfloor}\prod_{j=1}^{\lfloor\frac{m}{d}\rfloor} (ijd)^{ijd[d=\gcd(i,j)]} \\ &=\prod_{d=1}^{n}\prod_{p=1}^{\lfloor\frac{n}{d}\rfloor}\prod_{i=1}^{\lfloor\frac{n}{pd}\rfloor}\prod_{j=1}^{\lfloor\frac{m}{pd}\rfloor} (ijdp^2)^{ijdp^2\mu(p)} \end{aligned} \]

不妨记 \(\displaystyle s(n)=\frac{n(n+1)}{2}\)

我们有

\[\prod_{i=1}^{n}\prod_{j=1}^{m}(ij)^{ij} =\prod_{i=1}^{n}\prod_{j=1}^{m} (i^i)^j(j^j)^i \\ =\left[\prod_{i=1}^n i^i\right]^{s(m)}\left[\prod_{i=1}^m i^i\right]^{s(n)}\]

记为 \(F(n,m)\)

而且我们有

\[\prod_{i=1}^{n}\prod_{j=1}^{m} t^{ij}=t^{s(n)s(m)} \]

\[\begin{aligned} &=\prod_{d=1}^{n}\prod_{p=1}^{\lfloor\frac{n}{d}\rfloor}\prod_{i=1}^{\lfloor\frac{n}{pd}\rfloor}\prod_{j=1}^{\lfloor\frac{m}{pd}\rfloor} (ijdp^2)^{ijdp^2\mu(p)} \\ &=\prod_{d=1}^{n}\prod_{p=1}^{\lfloor\frac{n}{d}\rfloor}\left[\prod_{i=1}^{\lfloor\frac{n}{pd}\rfloor}\prod_{j=1}^{\lfloor\frac{m}{pd}\rfloor} (ij)^{ij}\cdot (dp^2)^{ij} \right]^{dp^2\mu(p)}\\ &=\prod_{d=1}^{n}\prod_{p=1}^{\lfloor\frac{n}{d}\rfloor} \left[F\left(\lfloor\frac{n}{pd}\rfloor,\lfloor\frac{m}{pd}\rfloor\right)\cdot (dp^2)^{s(\lfloor\frac{n}{pd}\rfloor)s(\lfloor\frac{m}{pd}\rfloor)}\right]^{dp^2\mu(p)} \end{aligned} \]

不妨令 \(dp=t\)。记 \(g(n)=\sum_{d\mid n} d\mu(d)\)\(h(n)=\prod_{d\mid n} d^{d\mu(d)}\)

我们得到

\[\begin{aligned} &=\prod_{t=1}^{n}\prod_{p\mid t} \left[F\left(\lfloor\frac{n}{t}\rfloor,\lfloor\frac{m}{t}\rfloor\right)\cdot (tp)^{s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)}\right]^{tp\mu(p)} \\ &=\prod_{t=1}^{n} \left[\left[F(\lfloor\frac{n}{t}\rfloor,\lfloor\frac{m}{t}\rfloor)\cdot t^{s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)}\right]^{{\sum_{p\mid t} p\mu(p)} } \left(\prod_{p\mid t} p^{p\mu(p)}\right)^{s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)} \right]^t \\ &=\prod_{t=1}^{n} \left[\left[F(\lfloor\frac{n}{t}\rfloor,\lfloor\frac{m}{t}\rfloor)\cdot t^{s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)}\right]^{{g(t)} } h(t)^{s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)} \right]^t \\ &=\prod_{y=1}^{n} F(\lfloor\frac{n}{t}\rfloor,\lfloor\frac{m}{t}\rfloor)^{tg(t)}\cdot \left[t^{g(t)}h(t)\right]^{t\cdot s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)} \end{aligned} \]

再令 \(G(t)=t\cdot g(t)\)\(H(t)=\left[t^{g(t)}\cdot h(t)\right]^{t}\)。于是

\[=\prod_{y=1}^{n} F(\lfloor\frac{n}{t}\rfloor,\lfloor\frac{m}{t}\rfloor)^{G(t)}\cdot H(t)^{s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)}\]

讨论一下乘法的数论分块。

设极长的区间为 \([l,r]\),则对答案的贡献为

\[F(\lfloor\frac{n}{l}\rfloor,\lfloor\frac{m}{l}\rfloor)^{sum_G(r)-sum_G(l-1)}\cdot \left[\frac{mul_H(r)}{mul_H(l-1)}\right]^{s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)} \]

然后我们需要预处理出 \(F,G,H\)。然后《就》做完了。

回顾一下 \(F(n,m),G(n),H(n)\) 的定义。

\[F(n,m)=\left[\prod_{i=1}^n i^i\right]^{s(m)}\left[\prod_{i=1}^m i^i\right]^{s(n)} \]

实际上只需要预处理 \(f(n)=\prod_{i=1}^{n} i^i\),那么 \(F(n,m)=f(n)^{s(m)}f(m)^{s(n)}\)

\[G(n)=n\sum_{d\mid n} d\mu(d) \]

\[H(n)=\left[n^{g(n)}\cdot h(n)\right]^n \]

对于 \(g(n)\)\(h(n)\),我们可以通过枚举倍数在 \(\Theta(n\ln n)\) 的时间内预处理出。于是 \(G\)\(H\) 是好求的。

于是我们在 \(\Theta(\sqrt n\log n+n\log n)\) 的时间内解决了本题。

现在是 16:46,我看我什么时候写完。

Update:2.7 13:15 AC 了此题。

注意什么时候对 \(p\) 取模,什么时候对 \((p-1)\) 取模。

P3704 [SDOI2017] 数字表格

\[\prod_{i=1}^{n}\prod_{j=1}^{m} f(\gcd(i,j)) \]

其中 \(f(i)\) 代表 Fibonacci 数列的第 \(i\) 项。

简单反演一下。

\[\begin{aligned} \prod_{i=1}^{n}\prod_{j=1}^{m} f(\gcd(i,j))&=\prod_{i=1}^{n}\prod_{j=1}^{m}\prod_{d\mid i,d\mid j} f(d)^{[d=\gcd(i,j)]} \\ &=\prod_{d=1}^{n}\prod_{j=1}^{\lfloor\frac{n}{d}\rfloor}\prod_{j=1}^{\lfloor\frac{m}{d}\rfloor} f(d)^{[\gcd(i,j)=1]} \\ &=\prod_{d=1}^{n}\prod_{p=1}^{\lfloor\frac{n}{d}\rfloor}\prod_{j=1}^{\lfloor\frac{n}{pd}\rfloor}\prod_{j=1}^{\lfloor\frac{m}{pd}\rfloor} f(d)^{\mu(p)} \\ &=\prod_{t=1}^{n}\left[\prod_{d\mid p} f(d)^{\mu(\frac{t}{d})}\right]^{s(\lfloor\frac{n}{t}\rfloor)s(\lfloor\frac{m}{t}\rfloor)} \end{aligned} \]

时间复杂度 \(\Theta(T\sqrt n\log p+n\ln n\log p)\)

P3312 [SDOI2014] 数表

TODO。

P6271 [湖北省队互测2014] 一个人的数论

好题。

此处的 \(k\) 指的是是题目中的 \(d\)

\(f_k(n)\) 为所有小于 \(n\) 且与 \(n\) 互素的正整数的 \(k\) 次方和,求

\[f_k(n) \bmod 10^9+7 \]

给定 \(n\) 的素因数分解式。记 \(w\) 为素因数个数,\(a_i\) 为因数次数。\(k\leq 10^2\)\(w \leq 10^3\)\(p_i \leq 10^9\)\(a_i \leq 10^9\)

即为 \(\sum_{i=1}^n[\gcd(i,n)=1] i^k\)。不妨记 \(s_k(n)=\sum_{i=1}^n i^k=\sum_{i=0}^{k+1}a_in^i\)

\[\begin{aligned} \sum_{i=1}^n[\gcd(i,n)=1] i^k&=\sum_{i=1}^n i^k\sum_{d\mid i,d\mid n} \mu(d) \\ &=\sum_{d\mid n} \mu(d) \sum_{j=1}^{\frac{n}{d}} (jd)^k \\ &=\sum_{d\mid n} \mu(d)d^k s_k(\frac{n}{d}) \\ &=\sum_{d\mid n} \mu(d) d^k \sum_{i=0}^{k+1} a_i(\frac{n}{d})^i \\ &=\sum_{d\mid n} \mu(d) d^k \sum_{i=0}^{k+1} a_i n^i d^{-i} \\ &=\sum_{i=0}^{k+1}a_in^i \sum_{d\mid n}\mu(d)d^{k-i} \end{aligned} \]

显然 \(\mu(d)d^{k-i}\) 是一个积性函数。于是有

\[\begin{aligned} &=\sum_{i=0}^{k+1}a_in^i \prod_{j=1}^{w}\sum_{l=0}^{a_j} \mu(p_j^l)p_j^{l(k-i)} \end{aligned} \]

注意到当且仅当 \(l\leq 1\) 时,\(\mu(p_j^l)p_j^{l(k-i)}\neq 0\)。于是不难化为

\[\begin{aligned} &=\sum_{i=0}^{k+1}a_in^i \prod_{j=1}^{w} (1-p_j^{k-i}) \end{aligned} \]

系数 \(a_i\) 可以暴力算出,是 \(\Theta(k^3)\) 的。

总时间复杂度 \(\Theta(k^3+kw)\)

P6810 「MCOI-02」Convex Hull 凸包

\[\displaystyle\sum_{i = 1}^n \sum_{j = 1}^m \sigma_0(i) \sigma_0(j) \sigma_0(\gcd(i, j)) \]

\(n,m\leq 2\times 10^6\)

\(\sigma_0\) 表示因数个数函数。

我们可以简单反演一下

\[\begin{aligned} \sum_{i = 1}^n \sum_{j = 1}^m \sigma_0(i) \sigma_0(j) \sigma_0(\gcd(i, j))&=\sum_{i=1}^n\sum_{j=1}^m \sigma_0(i)\sigma_0(j)\sum_{d\mid i,d\mid j} \sigma_0(d)[d=\gcd(i,j)] \\ &=\sum_{d=1}^n \sigma_0(d)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{i=1}^{\lfloor\frac{m}{d}\rfloor} \sigma_0(id)\sigma_0(jd)[\gcd(i,j)=1] \\ &=\sum_{d=1}^n \sigma_0(d)\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor} \mu(p)\sum_{i=1}^{\lfloor\frac{n}{pd}\rfloor}\sum_{i=1}^{\lfloor\frac{m}{pd}\rfloor} \sigma_0(ipd)\sigma_0(jpd) \\ &=\sum_{t=1}^n \sum_{d\mid t} \sigma_0(d)\mu(\frac{t}{d})\sum_{i=1}^{\lfloor\frac{n}{t}\rfloor}\sigma_0(it)\sum_{j=1}^{\lfloor\frac{m}{t}\rfloor}\sigma_0(jt) \end{aligned} \]

然后你会发现中间有个卷积是可以线性调和地算的。然后你还会发现后面也是一个线性调和的枚举。

所以总复杂度 \(\Theta(n\log n)\)

[AGC038C] LCMs / P3911 最小公倍数之和

给定数列 \(a\)。求

\[\sum_{i=1}^n\sum_{j=1}^n \operatorname{lcm}(a_i,a_j) \]

\(n\le 2\times 10^5\)\(1 \le a_i \le 10^6\)

不妨记 \(N=10^6\)

\[\begin{aligned} \sum_{i=1}^n\sum_{j=1}^n \operatorname{lcm}(a_i,a_j)&=\sum_{i=1}^n \sum_{j=1}^n \sum_{d\mid a_i,d\mid a_j} [d=\gcd(a_i,a_j)]\frac{a_i\cdot a_j}{d} \\ &=\sum_{d=1}^{N} d\left(\sum_{i=1}^{\lfloor\frac{N}{d}\rfloor} \sum_{j=1}^{\lfloor\frac{N}{d}\rfloor} cnt_{id}cnt_{jd}[\gcd(i,j)=1]i\cdot j \right) \\ &=\sum_{d=1}^N d\sum_{p=1}^{\lfloor\frac{N}{d}\rfloor} p^2\mu(p) \sum_{i=1}^{\lfloor\frac{N}{pd}\rfloor} \sum_{j=1}^{\lfloor\frac{N}{pd}\rfloor} cnt_{ipd}cnt_{jpd}ij \\ &=\sum_{t=1}^{N}t\sum_{p\mid t}p\mu(p) \sum_{i=1}^{\lfloor\frac{N}{t}\rfloor} \sum_{j=1}^{\lfloor\frac{N}{t}\rfloor} cnt_{it}cnt_{jt}ij \end{aligned} \]

时间复杂度 \(\Theta(n\log n)\)

P4240 毒瘤之神的考验

\[\sum_{i=1}^n \sum_{j=1}^m \varphi(ij) \]

\(998,422,353\) 取模。\(n,m\leq 10^5\)\(T\leq 10^4\)

我们有

\[\varphi(ij)=\frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))} \]

(证明见 \(\varphi\) 函数性质部分)

代入得到

\[\begin{aligned} \sum_{i=1}^n \sum_{j=1}^m \varphi(ij)&=\sum_{d=1}^n \frac{d}{\varphi(d)}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor} \sum_{j=1}^{\lfloor\frac{m}{d}\rfloor} \varphi(id)\varphi(jd)[\gcd(i,j)=1] \\ &=\sum_{d=1}^n \frac{d}{\varphi(d)} \sum_{p=1}^{\lfloor\frac{n}{d}\rfloor} \mu(p) \sum_{i=1}^{\lfloor\frac{n}{pd}\rfloor} \sum_{j=1}^{\lfloor\frac{m}{pd}\rfloor} \varphi(ipd)\varphi(jpd) \\ &=\sum_{t=1}^{n}\sum_{d\mid t}\frac{d}{\varphi(d)}\mu\left(\frac{t}{d}\right) \sum_{i=1}^{\lfloor\frac{n}{t}\rfloor} \sum_{j=1}^{\lfloor\frac{m}{t}\rfloor} \varphi(it)\varphi(jt) \end{aligned} \]

至此我们已经做到了单次询问 \(\Theta(n\log n)\)

不妨设 \(f(n)=\sum_{d\mid n} \dfrac{d}{\varphi(d)}\mu(\dfrac{n}{d})\)\(g(n,t)=\sum_{i=1}^n \varphi(it)\)。于是答案等价于

\[\sum_{t=1}^n f(t)g(\lfloor\frac{n}{t}\rfloor,t)g(\lfloor\frac{m}{t}\rfloor,t) \]

我们可以在 \(\Theta(n\log n)\) 时间内对 \(\forall t\in [1,n]\)\(\forall i\in [1,\frac{m}{t}]\) 求出 \(g(i,t)\)。于是单次询问复杂度降为 \(\Theta(n)\),仍不能接受。

观察到 \(\lfloor\frac{n}{t}\rfloor\) 具有数论分块特征。于是构造函数

\[h(n,m,d)=\sum_{i=1}^d f(i)g(\lfloor\frac{n}{i}\rfloor,i)g(\lfloor\frac{m}{i}\rfloor,i) \]

于是最终的答案可以表示为

\[\sum \left[h(\lfloor\frac{n}{l}\rfloor,\lfloor\frac{m}{l}\rfloor,r)-h(\lfloor\frac{n}{l}\rfloor,\lfloor\frac{m}{l}\rfloor,l-1)\right] \]

如果预处理出全部的 \(h\),显然预处理超时。否则询问超时。于是想到设一个阈值 \(S\)\(\forall i,j\in [1,S]\)\(d\in [1,\frac{m}{\max(i,j)}]\) 预处理出所有的 \(h(i,j,d)\)。这是 \(\Theta(nS^2)\) 的。

本题中 \(\Theta(n\log n)\) 预处理 \(g(i,t)\),体现了 调和之美;设阈值进行平衡,体现了 平衡之美

[CmdOI2019] 简单的数论题

\[\sum_{i=1}^n\sum_{j=1}^m \varphi\left(\dfrac{{\rm lcm}(i,j)}{\gcd(i,j)}\right) \]

\(23,333\) 取模。\(T\leq 3\times 10^4\)\(n,m\leq 5\times 10^4\)

套路地进行反演。

\[\begin{aligned} \sum_{i=1}^{n}\sum_{j=1}^m \varphi\left(\dfrac{{\rm lcm}(i,j)}{\gcd(i,j)}\right) &= \sum_{d=1}^n \sum_{i=1}^{\lfloor\frac{n}{d}\rfloor} \sum_{j=1}^{\lfloor\frac{m}{d}\rfloor} \varphi(ij) [\gcd(i,j)=1] \\ &=\sum_{d=1}^n \sum_{i=1}^{\lfloor\frac{n}{d}\rfloor} \sum_{j=1}^{\lfloor\frac{m}{d}\rfloor} \varphi(i)\varphi(j) [\gcd(i,j)=1] \\ &=\sum_{d=1}^n \sum_{p=1}^{\lfloor\frac{n}{d}\rfloor} \mu(p) \sum_{i=1}^{\lfloor\frac{n}{pd}\rfloor} \sum_{j=1}^{\lfloor\frac{m}{pd}\rfloor} \varphi(ip)\varphi(jp) \\ &=\sum_{t=1}^n \sum_{p\mid t}\mu(p)\sum_{i=1}^{\lfloor\frac{n}{t}\rfloor} \sum_{j=1}^{\lfloor\frac{m}{t}\rfloor} \varphi(ip)\varphi(jp) \end{aligned} \]

\(g(n,p)=\sum_{i=1}^n \varphi(ip)\)。则原式化为

\[\begin{aligned} &=\sum_{t=1}^n \sum_{p\mid t}\mu(p) g(\lfloor\frac{n}{t}\rfloor,p) g(\lfloor\frac{m}{t}\rfloor,p) \end{aligned} \]

我们不难套路地 \(\Theta(n\log n)\) 预处理出 \(g\)

那么,设 $f(x,a,b)=\sum_{p\mid x}\mu(p) g(a,p) g(b,p) $。

如果预处理出所有的 \(f(x,a,b)\),时空都承受不了。注意当 \(x\ge \sqrt n\) 的时候,\(a,b\le \sqrt n\),所以我们可以设一个阈值 \(B\),对 \(x\ge B\) 预处理所有 \(x\ge B\)\(f\) 不妨将阈值设为 \(\sqrt n\),这样空间复杂度是 \(\Theta(n\sqrt n)\) 的,时间则是 \(\Theta(n\sqrt n\log n)\) 的。

然后对 \(x\lt B\) 的部分,我们暴力算,这样是 \(\Theta(\sqrt n\log n)\) 的;对于 \(x\gt B\) 的部分,我们直接数论分块,这样是 \(\sqrt n\) 的。综上,我们在单次询问 \(\Theta(\sqrt n\log n)\) 的时间内解决了本题。

[MarsOJ 24JAN A] phi

\[\sum_{i=1}^n \sum_{j=1}^n \varphi(\gcd(\varphi(i),\varphi(j))) \]

\(n\leq 10^7\)\(\texttt{2s,512MB}\)

\(f(i)=\sum_{k=1}^n [\varphi(k)=i]\)。问题转化为

\[\begin{aligned} &\sum_{i=1}^n\sum_{j=1}^n f(i)f(j)\varphi(\gcd(i,j))\\ =&\sum_{i=1}^n\sum_{j=1}^n\sum_{d\mid i,d\mid j}[d=\gcd(i,j)]f(i)f(j)\varphi(d) \\ =&\sum_{d=1}^n\varphi(d)\sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor} \sum_{j=1}^{\left\lfloor\frac{n}{d}\right\rfloor} f(id)f(jd)[\gcd(i,j)=1] \\ =&\sum_{d=1}^n\varphi(d)\sum_{p=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\mu(p)\left(\sum_{i=1}^{\left\lfloor\frac{n}{dp}\right\rfloor}f(ipd)\right)^2 \\ \end{aligned} \]

不妨记 \(g(t)=\sum_{i=1}^{\left\lfloor\frac{n}{t}\right\rfloor} f(it)\)

\(s(t)=\sum_{1\le it\le n} f(it)\)

\[\begin{aligned} &=\sum_{t=1}^n s(t)^2\sum_{d\mid t}\varphi(d)\mu\left(\frac{t}{d}\right) \end{aligned} \]

不妨记 \(g=\mu \ast \varphi\)。线性调和地预处理即可。

答案即为

\[\sum_{i=1}^n s(i)^2g(i) \]

时间复杂度 \(\Theta(n\log n)\)

P4619 [SDOI2018] 旧试题

\[\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C \sigma_0(ijk) \]

\(A,B,C\le 10^5\)

我们有结论

\[\sigma_0(a_1a_2\cdots a_n)=\sum_{d_1\mid a_1}\sum_{d_2\mid a_2}\cdots \sum_{d_n\mid a_n}[\forall i\neq j, \gcd(d_i,d_j)=1] \]

代入有

\[\begin{aligned} &\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C \sigma_0(ijk) \\ =&\sum_{i=1}^A\sum_{x\mid i}\sum_{j=1}^B\sum_{y\mid j}\sum_{k=1}^C\sum_{z\mid k} [\varepsilon(\gcd(x,y))][\varepsilon(\gcd(x,z))][\varepsilon(\gcd(y,z))] \\ =&\sum_{x=1}^A\sum_{y=1}^B\sum_{z=1}^C\lfloor\frac{A}{x}\rfloor\lfloor\frac{B}{y}\rfloor\lfloor\frac{C}{z}\rfloor[\varepsilon(\gcd(x,y))][\varepsilon(\gcd(x,z))][\varepsilon(\gcd(y,z))] \\ =&\sum_{x=1}^A\sum_{y=1}^B\sum_{z=1}^C\lfloor\frac{A}{x}\rfloor\lfloor\frac{B}{y}\rfloor\lfloor\frac{C}{z}\rfloor\sum_{u\mid x,u\mid y}\mu(u)\sum_{v\mid x,v\mid z}\mu(v)\sum_{w\mid y,w\mid z}\mu(w) \\ =&\sum_{u=1}^{\min(A,B)}\sum_{v=1}^{\min(A,C)}\sum_{w=1}^{\min(B,C)}\mu(u)\mu(v)\mu(w)\sum_{x=1}^A\sum_{y=1}^B\sum_{z=1}^C\lfloor\frac{A}{x}\rfloor\lfloor\frac{B}{y}\rfloor\lfloor\frac{C}{z}\rfloor[\textcolor{cyan}{u\mid x,v\mid x}][\textcolor{cyan}{u\mid y,w\mid y}][\textcolor{cyan}{v\mid z,w\mid z}]\\ =&\sum_{u=1}^{\min(A,B)}\sum_{v=1}^{\min(A,C)}\sum_{w=1}^{\min(B,C)}\mu(u)\mu(v)\mu(w)\sum_{x=1}^A\sum_{y=1}^B\sum_{z=1}^C\lfloor\frac{A}{x}\rfloor\lfloor\frac{B}{y}\rfloor\lfloor\frac{C}{z}\rfloor[\operatorname{lcm}(u,v)\mid x][\operatorname{lcm}(u,w)\mid y][\operatorname{lcm}(v,w)\mid z] \\ =&\sum_{u=1}^{\min(A,B)}\sum_{v=1}^{\min(A,C)}\sum_{w=1}^{\min(B,C)}\mu(u)\mu(v)\mu(w)\sum_{\operatorname{lcm}(u,v)\mid x,x\leq A}\lfloor\frac{A}{x}\rfloor\sum_{\operatorname{lcm}(u,w)\mid y,y\leq B}\lfloor\frac{B}{y}\rfloor\sum_{\operatorname{lcm}(v,w)\mid z,z\leq C}\lfloor\frac{C}{z}\rfloor \end{aligned} \]

注意到 \(\sum_{d\mid x,x\leq n} \lfloor\frac{n}{x}\rfloor=\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor} \lfloor\frac{n}{id}\rfloor\)

\(\displaystyle f(d,n)=\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor} \lfloor\frac{n}{id}\rfloor=\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor} \lfloor\frac{\lfloor\frac{n}{d}\rfloor}{i}\rfloor\),是不难预处理/快速查询的。代入得到

\[\begin{aligned} &=\sum_{u=1}^{\min(A,B)}\sum_{v=1}^{\min(A,C)}\sum_{w=1}^{\min(B,C)}\mu(u)\mu(v)\mu(w)f(\operatorname{lcm}(u,v),A)f(\operatorname{lcm}(u,w),B)f(\operatorname{lcm}(v,w),C) \end{aligned} \]

考虑什么样的三元组 \((u,v,w)\) 会对答案有贡献。

  • \(\mu(u),\mu(v),\mu(w)\neq 0\)
  • \(\operatorname{lcm}(u,v),\operatorname{lcm}(u,w),\operatorname{lcm}(v,w)\leq \max(A,B,C)\)

这个三元组对答案贡献为 \(\mu(u)\mu(v)\mu(w)f(\operatorname{lcm}(u,v),A)f(\operatorname{lcm}(u,w),B)f(\operatorname{lcm}(v,w),C)\)。所以我们可以转化为求三元环。

现在压力给到建图。朴素的建图是 \(\Theta(n^3)\) 的。不过我们不难枚举 \(x=\operatorname{gcd}(u,v)\)。令 \(u=ix,v=jx\),当 \(\gcd(i,j)=1\)\(\operatorname{lcm}(u,v)=\dfrac{ijx^2}{x}=ijx\leq \max(A,B,C)\) 时连边 \((u,v)\)

边数不超过 \(8\times 10^5\) 条,利用求解三元环的方法可以在 \(\Theta(m\sqrt m)\) 内解决本题。

P6860 象棋与马

题意省略。

P3598 Koishi Loves Number Theory

Starrykiller loves number theory

题意省略。

很厉害的题。

转化一下题意,由于题目保证了 \(x\not\equiv 1\pmod {10^9+7}\),设 \(\displaystyle f(n)=\frac{x^{n+1}-1}{x-1}\)

我们有如下引理。

引理

\[\gcd(x^a-1,x^b-1)=x^{\gcd(a,b)}-1 \]

P7360 「JZOI-1」红包

推式子。

\[\begin{aligned} &\prod_{i_1=1}^n\cdots\prod_{i_k=1}^n \operatorname{lcm}(i_1,\cdots,i_k)\\ =&\prod_{i_1=1}^n\cdots\prod_{i_k=1}^n\prod_{S\subseteq \{1,\cdots,k\}}\gcd(\{i_x:x\in S \})^{(-1)^{|S|-1}} \\ =&\prod_{j=1}^k\prod_{i_1,\cdots,i_j}\gcd(i_1,\cdots,i_j)^{(-1)^{j-1}n^{k-j}} \\ =&\prod_{j=1}^k\prod_{i_1,\cdots,i_j}\prod_{d\mid \gcd(i_1,\cdots,i_j)}d^{(-1)^{j-1}{k\choose j}n^{k-j}[\gcd(i_1,\cdots,i_j)=d]} \\ =&\prod_{j=1}^k\prod_{d=1}^n d^{(-1)^{j-1}{k\choose j}n^{k-j}\sum_{i_1,\cdots,i_j}[\gcd(i_1,\cdots,i_j)=d]} \\ =&\prod_{j=1}^k\prod_{d=1}^n d^{(-1)^{j-1}{k\choose j}n^{k-j}\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor}\mu(p)\lfloor\frac{n}{dp}\rfloor^j} \\ =&\prod_{j=1}^k\prod_{d=1}^n\prod_{p=1}^{\lfloor\frac{n}{d}\rfloor} \left(d^{\mu(p)}\right)^{(-1)^{j-1}{k\choose j}n^{k-j}\lfloor\frac{n}{dp}\rfloor^j} \\ =&\left[\prod_{j=1}^k\prod_{d=1}^n\prod_{p=1}^{\lfloor\frac{n}{d}\rfloor} \left(d^{\mu(p)}\right)^{(-1)^{j}{k\choose j}n^{k-j}\lfloor\frac{n}{dp}\rfloor^j} \right]^{-1}\\ =&\left[\prod_{t=1}^nf(t)^{\sum_{j=1}^k (-1)^{j}{k\choose j}n^{k-j}\lfloor\frac{n}{t}\rfloor^j} \right]^{-1}\\ =&\left[\prod_{t=1}^nf(t)^{\sum_{j=0}^k (-1)^{j}{k\choose j}n^{k-j}\lfloor\frac{n}{t}\rfloor^j-n^k} \right]^{-1}\\ =&\left[\prod_{t=1}^nf(t)^{(n-\lfloor\frac{n}{t}\rfloor)^k-n^k} \right]^{-1}\\ \end{aligned} \]

其中

\[f(t)=\prod_{d\mid t}d^{\mu\left(\frac{n}{t}\right)} \]

不难发现可以整除分块求解,时间复杂度 \(\Theta(T\sqrt n\log n)\)

本题 \(k\) 很大,\(f(t)\) 的指数需要对 \(\varphi(p)\) 取模,那么 \(k\) 就要应用扩展欧拉定理对 \(\varphi(\varphi(p))\) 取模,细节比较多。

P8570 [JRKSJ R6] 牵连的世界

\[\sum_{i=1}^n \sum_{j=1}^m \sigma_0(ij)\varphi(ij) \]

\((10^9+7)\) 取模。\(n,m\le 3\times 10^6\)

推式子。

引理

\[\sigma_0(ij)=\sum_{d\mid\gcd(i,j)} \mu(d)\sigma_0\left(\frac{i}{d}\right) \sigma_0\left(\frac{j}{d}\right)\]

证明

\[\begin{aligned} \sigma_0(ij)&=\sum_{x\mid i}\sum_{y\mid j}[\gcd(x,y)=1] \\ &=\sum_{x\mid i}\sum_{y\mid j}\sum_{d\mid x,d\mid y} \mu(d) \\ &=\sum_{d\mid i,d\mid j}\mu(d)\sum_{d\mid x,x\mid i}1\sum_{d\mid y,y\mid j} 1 \\ &=\sum_{d\mid i,d\mid j}\mu(d)\sum_{x\mid \frac{i}{d}} 1 \sum_{y\mid \frac{j}{d}}1 \\ &=\sum_{d\mid i,d\mid j} \mu(d)\sigma_0\left(\frac{i}{d}\right) \sigma_0\left(\frac{j}{d}\right)\\ \square \end{aligned} \]

引理

\[\varphi(ij)=\frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))} \]

证明 见上。(P4240)

\[\begin{aligned} &\sum_{i=1}^n\sum_{j=1}^m\sigma_0(ij)\varphi(ij)\\ =&\sum_{i=1}^n\sum_{j=1}^m\frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))}\sum_{d\mid \gcd(i,j)} \mu(d)\sigma_0\left(\frac{i}{d}\right)\sigma_0\left(\frac{j}{d}\right) \\ =&\sum_{i=1}^n\sum_{j=1}^m\varphi(i)\varphi(j)\sum_{p\mid i,p\mid j}[p=\gcd(i,j)]\frac{p}{\varphi(p)}\sum_{d\mid p} \mu(d)\sigma_0\left(\frac{i}{d}\right)\sigma_0\left(\frac{j}{d}\right) \\ =&\sum_{p=1}^n \frac{p}{\varphi(p)} \sum_{i=1}^{\left\lfloor\frac{n}{p}\right\rfloor} \sum_{j=1}^{\left\lfloor\frac{m}{p}\right\rfloor} [\gcd(i,j)=1] \varphi(ip)\varphi(jp) \sum_{d\mid p} \mu(d)\sigma_0\left(\frac{ip}{d}\right)\sigma_0\left(\frac{jp}{d}\right) \\ =&\sum_{p=1}^n \frac{p}{\varphi(p)} \sum_{t=1}^{\left\lfloor\frac{n}{p}\right\rfloor} \mu(t) \sum_{i=1}^{\left\lfloor\frac{n}{pt}\right\rfloor} \sum_{j=1}^{\left\lfloor\frac{m}{pt}\right\rfloor} \varphi(ipt)\varphi(jpt) \sum_{d\mid p} \mu(d)\sigma_0\left(\frac{ipt}{d}\right)\sigma_0\left(\frac{jpt}{d}\right) \\ =&\sum_{p=1}^n \frac{p}{\varphi(p)} \sum_{t=1}^{\left\lfloor\frac{n}{p}\right\rfloor} \mu(t) \sum_{d\mid p} \mu(d) \left[ \sum_{i=1}^{\left\lfloor\frac{n}{pt}\right\rfloor} \varphi(ipt) \sigma_0\left(\frac{ipt}{d}\right) \right] \left[ \sum_{j=1}^{\left\lfloor\frac{m}{pt}\right\rfloor} \varphi(jpt) \sigma_0\left(\frac{jpt}{d}\right) \right] \end{aligned} \]

不妨记 \(f(n,x,d)=\sum_{i=1}^{\left\lfloor\frac{n}{x}\right\rfloor} \varphi(ix)\sigma_0\left(\frac{ix}{d}\right)\)。则原式化为

\[\begin{aligned} &\sum_{p=1}^n \frac{p}{\varphi(p)} \sum_{t=1}^{\left\lfloor\frac{n}{p}\right\rfloor} \mu(t) \sum_{d\mid p} \mu(d) f(n,pt,d)f(m,pt,d) \\ =&\sum_{d=1}^n d\cdot\mu(d)\sum_{p=1}^{\left\lfloor\frac{n}{d}\right\rfloor} \frac{p}{\varphi(dp)}\sum_{t=1}^{\left\lfloor\frac{n}{pd}\right\rfloor}\mu(t)f(n,ptd,d)f(m,ptd,d) \end{aligned} \]

\(y=dp\)

\[\begin{aligned} &\sum_{y=1}^n \sum_{d\mid y} d\cdot \mu(d)\cdot \frac{y}{d\varphi(y)}\sum_{t=1}^{\left\lfloor\frac{n}{y}\right\rfloor}\mu(t)f(n,ty,d)f(m,ty,d) \\ =&\sum_{y=1}^n\frac{y}{\varphi(y)}\sum_{d\mid y}\mu(d)\sum_{t=1}^{\left\lfloor\frac{n}{y}\right\rfloor}\mu(t)f(n,ty,d)f(m,ty,d) \\ =&\sum_{d=1}^n\mu(d)\sum_{d\mid y}\frac{y}{\varphi(y)} \sum_{t=1}^{\left\lfloor\frac{n}{y}\right\rfloor}\mu(t)f(n,ty,d)f(m,ty,d) \end{aligned} \]

注意到,首先我们只需要枚举所有 \(\mu(d)\neq 0\)\(d\)。其次,对于每个 \(d\) 而言,我们可以预处理出 \(f(n,x,d)\)\(f(m,x,d)\),其中 \(d\mid x\)。所以时间复杂度应该是对的。事实上这样子可以通过 \(n\le 5\times 10^5\) 的数据,拿到 \(100\) 分。但是我们不应该止步于此。

换个思路。(TODO)

\[\begin{aligned} &\sum_{i=1}^n\sum_{j=1}^m\sigma_0(ij) \frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))} \\ =&\sum_{i=1}^n\sum_{j=1}^m \sigma_0(ij)\sum_{d\mid i,d\mid j} [\gcd(i,j)=d]\frac{\varphi(i)\varphi(j)}{\varphi(d)}\cdot d \\ =&\sum_{d=1}^n\frac{d}{\varphi(d)} \sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor} \sum_{j=1}^{\left\lfloor\frac{m}{d}\right\rfloor} \sigma_0(ijd^2)\varphi(id)\varphi(jd) \\ =&\sum_{d=1}^n\frac{d}{\varphi(d)} \sum_{d\mid i} \sum_{d\mid j} \varphi(i)\varphi(j)\sigma_0(ij) \\ =&\sum_{d=1}^n\frac{d}{\varphi(d)} \sum_{d\mid i} \sum_{d\mid j} \varphi(i)\varphi(j) \sum_{x\mid i}\sum_{y\mid j} [\gcd(x,y)=1] \end{aligned} \]

P5518 [MtOI2019] 幽灵乐团 / 莫比乌斯反演基础练习题

推式子毕业题。

给定正整数 \(A,B,C\),对于 \(x\in\{1,2,3\}\),分别求出

\[\prod_{i=1}^{A}\prod_{j=1}^{B}\prod_{k=1}^{C}\left(\frac{\operatorname{lcm}(i,j)}{\gcd(i,k)}\right)^{f(x)} \]

其中

\[\begin{aligned} f(0)&=1 \cr f(1)&=i \cdot j \cdot k \cr f(2)&=\gcd(i,j,k) \end{aligned}\]

对素数 \(p\) 取模。

$ 1\leq A,B,C\leq 10^5$,\(10^7 \leq p \leq 1.05\times 10^9\)\(p\in \mathbb{P}\)\(T\le 70\)

首先不难发现本质上就是求

\[F(A,B,C)=\prod_{i=1}^{A}\prod_{j=1}^{B}\prod_{k=1}^{C} \gcd(i,j)^{f(x)} \]

\[G(A,B,C)=\prod_{i=1}^{A}\prod_{j=1}^{B}\prod_{k=1}^{C} (ij)^{f(x)} \]

然后答案就是 \(\frac{G(A,B,C)}{F(A,B,C)F(A,C,B)}\)

考虑 \(f(0)\)

先求 \(F(A,B,C)\)。首先你会发现 \(C\) 是几乎没用的(可以先忽略,最后取结果的 \(C\) 次方),所以设 \(F(A,B,C)=F(A,B)^C\)\(G(A,B)\) 同理。

\[\begin{aligned} F(A,B)&=\prod_{i=1}^A\prod_{j=1}^B\gcd(i,j) \\ &=\prod_{d=1}^A\prod_{i=1}^{\left\lfloor\frac{A}{d}\right\rfloor}\prod_{i=1}^{\left\lfloor\frac{B}{d}\right\rfloor}\varphi(d) \\ &=\prod_{d=1}^A\varphi(d)^{\left\lfloor\frac{A}{d}\right\rfloor\left\lfloor\frac{B}{d}\right\rfloor} \end{aligned} \]

考虑 \(f(1)\)

即,求出

\[f'(A,B,C)=\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C \gcd(i,j)^{ijk} \]

\[g'(A,B,C)=\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C (ij)^{ijk} \]

然后答案就是

\[\frac{g'(A,B,C)}{f'(A,B,C)f'(A,C,B)} \]

不妨记 \(\operatorname{s}(C)=\sum_{i=1}^C i\)。考虑 \(f'(A,B,C)\)

以下默认 \(A\le B\)

\[\begin{aligned} f'(A,B,C)&=\prod_{k=1}^C\left(\prod_{i=1}^A\prod_{j=1}^B\gcd(i,j)^{ij}\right)^k\\ &=\left(\prod_{i=1}^A\prod_{j=1}^B\prod_{d\mid i,d\mid j}d^{ij[d=\gcd(i,j)]}\right)^{\operatorname{s}(C)} \\ &=\left(\prod_{d=1}^A d^{d^2\sum_{i=1}^{\left\lfloor\frac{A}{d}\right\rfloor}\sum_{j=1}^{\left\lfloor\frac{B}{d}\right\rfloor}ij[\gcd(i,j)=1]}\right)^{\operatorname{s}(C)} \\ &=\left(\prod_{d=1}^A d^{d^2\sum_{p=1}^{\left\lfloor\frac{A}{d}\right\rfloor}\mu(p)p^2\sum_{i=1}^{\left\lfloor\frac{A}{pd}\right\rfloor}\sum_{j=1}^{\left\lfloor\frac{B}{pd}\right\rfloor}ij}\right)^{\operatorname{s}(C)} \\ &=\left(\prod_{d=1}^A d^{d^2\sum_{p=1}^{\left\lfloor\frac{A}{d}\right\rfloor}\mu(p)p^2\operatorname{s}\left(\left\lfloor\frac{A}{pd}\right\rfloor\right)\operatorname{s}\left(\left\lfloor\frac{B}{pd}\right\rfloor\right)}\right)^{\operatorname{s}(C)} \end{aligned} \]

考虑 \(f(2)\)

\[f''(A,B,C)=\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C \gcd(i,j)^{\gcd(i,j,k)} \]

\[g''(A,B,C)=\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C (ij)^{\gcd(i,j,k)} \]

考虑 \(f''(A,B,C)\)

\[\begin{aligned} f''(A,B,C)&=\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C \gcd(i,j)^{\gcd(i,j,k)}\\ &=\prod_{d=1}^A d^{\sum_{k=1}^C\gcd(d,k)\sum_{i=1}^{\left\lfloor\frac{A}{d}\right\rfloor}\sum_{j=1}^{\left\lfloor\frac{B}{d}\right\rfloor}[\gcd(i,j)=1]} \\ &=\prod_{d=1}^A d^{\sum_{k=1}^C\gcd(d,k)\sum_{p=1}^{\left\lfloor\frac{A}{d}\right\rfloor}\mu(p)\left\lfloor\frac{A}{pd}\right\rfloor\left\lfloor\frac{B}{pd}\right\rfloor} \\ &=\prod_{d=1}^A d^{\sum_{k=1}^C\sum_{t\mid k,t\mid d}\varphi(t)\sum_{p=1}^{\left\lfloor\frac{A}{d}\right\rfloor}\mu(p)\left\lfloor\frac{A}{pd}\right\rfloor\left\lfloor\frac{B}{pd}\right\rfloor} \\ &=\prod_{d=1}^A d^{\sum_{k=1}^C\sum_{t\mid k,t\mid d}\varphi(t)\sum_{p=1}^{\left\lfloor\frac{A}{d}\right\rfloor}\mu(p)\left\lfloor\frac{A}{pd}\right\rfloor\left\lfloor\frac{B}{pd}\right\rfloor} \\ &=\prod_{t=1}^A\prod_{d=1}^{\left\lfloor\frac{A}{t}\right\rfloor}(td)^{\varphi(t)\left\lfloor\frac{C}{t}\right\rfloor\sum_{p=1}^{\left\lfloor\frac{A}{td}\right\rfloor}\mu(p)\left\lfloor\frac{A}{ptd}\right\rfloor\left\lfloor\frac{B}{ptd}\right\rfloor} \end{aligned} \]

考虑优化,不妨令 \(x=td\)

\[\begin{aligned} &=\prod_{x=1}^{A}x^{\sum_{t\mid x}\varphi(t)\left\lfloor\frac{C}{t}\right\rfloor\sum_{p=1}^{\left\lfloor\frac{A}{x}\right\rfloor}\mu(p)\left\lfloor\frac{A}{px}\right\rfloor\left\lfloor\frac{B}{px}\right\rfloor} \end{aligned} \]

P1587 [NOI2016] 循环之美

声明:我们交换题面中的 \(n,m\)

不难发现答案为

\[\sum_{i=1}^n[\gcd(i,k)=1]\sum_{j=1}^m[\gcd(i,j)=1] \]

先第一次莫反。

\[\begin{aligned} &\sum_{i=1}^n[\gcd(i,k)=1]\sum_{j=1}^m[\gcd(i,j)=1]\\ =&\sum_{i=1}^n[\gcd(i,k)=1]\sum_{j=1}^m\sum_{d\mid i,d\mid j}\mu(d) \\ =&\sum_{d=1}^n\mu(d)\left\lfloor\frac{m}{d}\right\rfloor \sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}[\gcd(id,k)=1] \\ =&\sum_{d=1}^n\mu(d)\left\lfloor\frac{m}{d}\right\rfloor \sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}[\gcd(i,k)=1][\gcd(d,k)=1] \\ =&\sum_{d=1}^n[\gcd(d,k)=1]\mu(d)\left\lfloor\frac{m}{d}\right\rfloor \sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}[\gcd(i,k)=1] \\ =&\sum_{d=1} ^n[\gcd(d,k)=1]\mu(d)\left\lfloor\frac{m}{d}\right\rfloor \sum_{p\mid k}\mu(p)\left\lfloor\frac{\left\lfloor\frac{n}{d}\right\rfloor}{p}\right\rfloor \end{aligned} \]

\(f(n)=[\gcd(n,k)=1]\mu(n)\)\(g(n)=\sum_{p\mid k}\mu(p)\left\lfloor\frac{n}{p}\right\rfloor\)。则答案化为

\[\sum_{d=1}^n f(d) \left\lfloor\frac{m}{d}\right\rfloor g\left(\left\lfloor\frac{n}{d}\right\rfloor\right) \]

注意到 \(k\le 2000\),本质不同的素因子 \(\omega(k)\le 4\),那么 \(\mu\neq 0\) 的因数最多为 \(2^{\omega(k)}\le 16\),于是 \(g\) 是好算的。

如果我们能够维护出 \(f\) 的前缀和,就可以直接应用数论分块。数据范围很大,考虑杜教筛。注意到 \(f=\varepsilon(\gcd)\cdot \mu\) 是完全积性函数,那么把它和 \(h=\varepsilon(\gcd)\) 卷起来,可以得到 \(s=\varepsilon(\gcd)\cdot \varepsilon\)\(s\) 函数是好求的,考虑怎么求 \(h\) 的区间和。

注意到

\[\sum_{i=l}^r h(i)=\sum_{d\mid k}\mu(d)\left(\left\lfloor\frac{r}{d}\right\rfloor-\left\lfloor\frac{l-1}{d}\right\rfloor\right) \]

(简单容斥)。于是 \(h\) 的区间和也在 \(2^{\omega(k)}\) 内完成了。

综上,我们在 \(\Theta\left(n^{\frac{2}{3}}\cdot 2^{\omega(k)}\right)\) 的时间内解决了本题。

P4464 [国家集训队] JZPKIL

爆推式子。

\[\begin{aligned} \sum_{i=1}^n \gcd(i,n)^x\operatorname{lcm}(i,n)^y&=n^y\sum_{i=1}^n\gcd(i,n)^{x-y}i^y \\ &=n^y\sum_{i=1}^n i^y\sum_{d\mid n,d\mid i}[\gcd(i,n)=d]d^{x-y}\\ &=n^y\sum_{d\mid n}d^{x-y}\sum_{i=1}^n i^y[d\mid i][\gcd(i,n)=d]\\ &=n^y\sum_{d\mid n}d^x\sum_{i=1}^{\frac{n}{d}} i^y[\gcd(id,n)=d]\\ &=n^y\sum_{d\mid n}d^x\sum_{i=1}^{\frac{n}{d}} i^y\left[\gcd\left(i,\frac{n}{d}\right)=1\right]\\ &=n^y\sum_{d\mid n}d^x\sum_{i=1}^{\frac{n}{d}} i^y\sum_{p\mid i,p\mid \frac{n}{d}} \mu(p) \\ &=n^y\sum_{d\mid n}d^x\sum_{p\mid \frac{n}{d}} \mu(p)\sum_{i=1}^{\frac{n}{d}} i^y[p\mid i] \\ &=n^y\sum_{d\mid n}d^x\sum_{p\mid \frac{n}{d}} \mu(p)p^y\sum_{i=1}^{\frac{n}{dp}} i^y \\ \end{aligned} \]

不妨记 \(s_k(n)=\sum_{i=1}^n i^k\)。套路地令 \(t=dp\),易知

\[\begin{aligned} &=n^y\sum_{d\mid n}d^x\sum_{p\mid \frac{n}{d}} \mu(p)p^y s_y\left(\frac{n}{dp}\right)\\ &=n^y\sum_{t\mid n}s_y\left(\frac{n}{t}\right) \sum_{p\mid t} \mu(p)p^y\left(\frac{t}{p}\right)^x\\ &=n^y\sum_{t\mid n}s_y\left(\frac{n}{t}\right)\cdot t^{x} \sum_{p\mid t} \mu(p)p^{y-x} \end{aligned} \]

不妨设 \(s_y(x)=\sum_{i=0}^{y+1} a_ix^i\)。代入得到

\[\begin{aligned} &=n^y\sum_{t\mid n}t^{x} \sum_{p\mid t} \mu(p)p^{y-x}\sum_{i=0}^{y+1} a_i\left(\frac{n}{t}\right)^i\\ &=n^y\sum_{i=0}^{y+1} a_i\sum_{t\mid n}t^{x}\left(\frac{n}{t}\right)^i \sum_{p\mid t} \mu(p)p^{y-x}\\ \end{aligned} \]

\(f=\operatorname{Id}^{x}\cdot (\mu \cdot \mathrm{Id}^{y-x})\ast 1\),那么 \(\sum_{t\mid n}\) 那一堆实际上就是 \(f\ast \mathrm{Id}^{i}\)

那么我们可以将积性函数拆成素数幂乘积的形式。

具体地说,

\[\begin{aligned} &=n^y\sum_{i=0}^{y+1} a_i(f\ast \mathrm{Id}^i)(n)\\ &=n^y\sum_{i=0}^{y+1} a_i\prod_{p^{\alpha}\mid n} \sum_{a+b=\alpha}f(p^a) p^{bi}\\ &=n^y\sum_{i=0}^{y+1} a_i\prod_{p^{\alpha}\mid n}\sum_{a=0}^1f(p^a)p^{(\alpha-a)i}\\ \end{aligned} \]

至于 \(s_y\),你可以用自己喜欢的算法求(Bernoulli 数,Stirling 数)。

还需要进行素因数分解,总时间复杂度 \(\Theta\left(Tn^{0.25}+T(\textsf{能过})\right)\)(?)

P5176 公约数

在本题中,记 \((a,b)=\gcd(a,b)\)

给定 \(A,B,C\),求

\[\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C(ij,ik,jk)\cdot (i,j,k)\cdot \left(\frac{(i,j)}{(i,k)(j,k)}+\frac{(i,k)}{(i,j)(j,k)}+\frac{(j,k)}{(i,j)(i,k)}\right) \]

\((10^{9}+7)\) 取模。\(1\le A,B,C\le 2\times 10^7\)\(T\le 10^3\)

引理 1

\[(ij,ik,jk)=\frac{(i,j)(j,k)(i,k)}{(i,j,k)} \]

证明

对于任意素数 \(p\),设 \(i,j,k\) 的指数为 \(a,b,c\),不失一般性,设 \(a\le b\le c\)

代入可以得到 \(\min(a+b,a+c,b+c)=\min(a,b)+\min(a,c)+\min(b,c)-\min(a,b,c)\),显然成立。

证毕。

代入得到

\[\begin{aligned} &\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C(ij,ik,jk)\cdot (i,j,k)\cdot \left(\frac{(i,j)}{(i,k)(j,k)}+\frac{(i,k)}{(i,j)(j,k)}+\frac{(j,k)}{(i,j)(i,k)}\right) \\ =&\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C(i,j)(j,k)(i,k)\cdot \left(\frac{(i,j)}{(i,k)(j,k)}+\frac{(i,k)}{(i,j)(j,k)}+\frac{(j,k)}{(i,j)(i,k)}\right) \\ =&\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C \left[(i,j)^2+(i,k)^2+(j,k)^2\right] \end{aligned} \]

\(f(A,B)=\sum_{i=1}^A\sum_{j=1}^B(i,j)^2\),则原式为

\[=C\cdot f(A,B)+B\cdot f(A,C)+A\cdot f(B,C) \]

考虑 \(f(A,B)\)。不难发现

\[\begin{aligned} f(A,B)=&\sum_{i=1}^A\sum_{j=1}^B\sum_{d\mid i,d\mid j}d^2[d=(i,j)] \\ =&\sum_{d=1}^A d^2\sum_{i=1}^{\lfloor\frac{A}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{B}{d}\rfloor}[(i,j)=1] \\ =&\sum_{d=1}^A d^2\sum_{p=1}^{\lfloor\frac{A}{d}\rfloor}\mu(p)\left\lfloor\frac{A}{pd}\right\rfloor\left\lfloor\frac{B}{pd}\right\rfloor\\ =&\sum_{t=1}^A\left\lfloor\frac{A}{t}\right\rfloor\left\lfloor\frac{B}{t}\right\rfloor\sum_{d\mid t} d^2\mu\left(\frac{t}{d}\right)\\ \end{aligned} \]

不难发现右边就是 \((\mathrm{Id}^2\ast \mu)(t)\)\(J_2\)),不难类似 phi 预处理。利用数论分块,我们在 \(\Theta(T\sqrt V+V)\) 的时间复杂度内解决了本题。

启示:遇到 \(\gcd\) 的题目,可以考虑从唯一分解上找性质。

P10182 一径入繁华

新鲜出炉的数论题。

“数论所生,繁华之地。”

定义 \(n\times n\) 矩阵 \(A\)

\[A_{i,j}=\sum_{d\mid \gcd(i,j)}\mu\left(\dfrac{\gcd(i,j)}{d}\right)\times (\sigma_0(d^s))^t \]

求出 \(\det A\)\(n\le 10^{11}\),对 \((10^9+7)\) 取模。

参考文献

OI-wiki

posted @ 2024-02-15 14:11  Starrykiller  阅读(331)  评论(0)    收藏  举报