“数论所生,繁华之地。” —— 一径入繁华
在未特殊指出的前提下,字母均代表正整数。
持续补充中,如果有任何问题或者想要交流,欢迎联系我。
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 被称为整除分块。
下面我们结合几道例题来对整除分块的应用进行说明。
给定 \(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 后,这段代码是不难理解的。
给定 \(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)\)。
设 \(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)\)。
求
\[\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\)。证毕。
\[f(n)=\sum_{d\mid n} g(d) \iff g(n)=\sum_{d\mid n}\mu(d)g\left(\frac{n}{d}\right)
\]
\[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\)。
\[\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)\)。
\[\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}
\]
\[\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)\)。
行列式 与 数论函数
本部分内容较为进阶,建议在对莫反和行列式的性质比较熟悉后再阅读。
对于 \(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\) 行,结论显然是成立的。根据数学归纳法,证毕。
对于 \(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)\)。
求
\[\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\)。
- \(x\in \mathbb{P}\) 或 \(x=1\)
显然有 \(f(x)=1\)。
- \(i\bmod y=0\)
\(\sum_{p\mid iy} \mu(\frac{iy}{p})\) 当且仅当 \(p=y\) 时可能不为 \(0\)。那么有 \(f(x)=\mu(i)\)。
- \(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)\)。
求
\[\sum_{i=i_1}^{i_2}\sum_{j=j_1}^{j_2} \gcd(i,j)
\]
直接拆成四个询问,套用形式 2 即可。\(\Theta(T\sqrt n)\)。
记 \(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})\)。
给定正整数数列 \(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)\)。
求
\[\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\)。
求
\[\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}})\)。
简单反演一下。
\[\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}
\]
求
\[\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}})\)。
求
\[\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}
\]
可以用杜教筛维护。
求出第 \(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}})\) 的。
一个初始为空的数列,每次随机选一个 \([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}
\]
于是就做完了。
给定 \(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) $。
然后就可以完成此题了。
从 \(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}})\)。
求
\[\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\)。
\(f(x)=f(i)\)。
\(f(x)=f(y)-f(i)\)。
求
\[\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})\) 也没错。
题目中给出的形式不方便反演。不妨先考虑一个计数 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)\)。
求
\[\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)\)。然后就做完了。
求
\[\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)
\]
然后就做完了。
求
\[\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\)。
求
\[\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)\) 取模。
求
\[\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)\)。
TODO。
好题。
此处的 \(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)\)。
求
\[\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)\)。
给定数列 \(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)\)。
求
\[\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)\),体现了 调和之美;设阈值进行平衡,体现了 平衡之美。
求
\[\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)\) 的时间内解决了本题。
求
\[\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)\)。
求
\[\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)\) 内解决本题。
题意省略。
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
\]
推式子。
\[\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))\) 取模,细节比较多。
求
\[\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}
\]
推式子毕业题。
给定正整数 \(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}
\]
声明:我们交换题面中的 \(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)\) 的时间内解决了本题。
爆推式子。
\[\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)\)(?)
在本题中,记 \((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\) 的题目,可以考虑从唯一分解上找性质。
新鲜出炉的数论题。
“数论所生,繁华之地。”
定义 \(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