炫酷反演魔术!
题目难度可能不严格递增,因为是乱着做的。
一些可能会用到的定理:
\[\varphi*Id_0=Id_1
\]
或者是另外一个形式:
\[\sum\limits_{d|n}\varphi(d)=n
\]
令 \(n=\prod\limits_{i=1}^kp_i^{e_i}\)。因为 \(\varphi\) 是积性函数,所以上式等价于证明 \(\prod\limits_{i=1}^k\left(\sum\limits_{j=0}^{e_i}\varphi(p_i^j)\right)=n\)。根据欧拉函数的定义简单推一下可以得到 \(\sum\limits_{j=0}^{e_i}\varphi(p_i^j)=p_i^{e_i}\),故原式成立。
\[\mu*Id_0=\varepsilon
\]
或者是另外一个形式:
\[\sum\limits_{d|n}\mu(d)=\varepsilon(n)
\]
令 \(n=\prod\limits_{i=1}^kp_i^{e_i}\)。因为 \(\mu\) 是积性函数,所以上式等价于证明 \(\prod\limits_{i=1}^k\left(\sum\limits_{j=0}^{e_i}\mu(p_i^j)\right)=\varepsilon(n)\)。根据莫比乌斯函数的定义简单推一下可以得到在 \(e_i\ge 1\) 时 \(\sum\limits_{j=0}^{e_i}\varphi(p_i^j)=0\),在 \(e_i=0\) 时 \(\sum\limits_{j=0}^{e_i}\varphi(p_i^j)=1\),故上式为 1 当且仅当 \(n=1\),故原式成立。
因为我们已经知道 \(\varphi*Id_0=Id_1\),\(\mu*Id_0=\varepsilon\),所以显然有 \(\mu*Id_1=\varphi\)。
\[d(nm)=\sum\limits_{i|n}\sum\limits_{j|m}[\gcd(i,j)=1]
\]
首先令 \(n=p^a,m=p^b\)。此时等式两边显然成立。注意此时 \(a,b\) 可以为 0。
再拓展到更一般的形式。把 \(n,m\) 分解质因数,此时要满足 \(\gcd(i,j)=1\) 则每个素数都要是合法情况。所以两两不影响,乘起来还是合法的。
其实就是整除分块练手题。先不管 \(i\neq j\) 的限制,最后再减去即可。
注意 19940417 并不是质数,但是它与 2,6 互质,可以求逆元。
中间那道是削弱版,没有多测。最后那道是 \(k=1\)。
很基础的一道题。令 \(a\le b\),考虑 \(k=1\) 的情况。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^a\sum\limits_{j=1}^b[\gcd(i,j)=1]\\
&=\sum\limits_{i=1}^a\sum\limits_{j=1}^b\varepsilon(\gcd(i,j))\\
&=\sum\limits_{i=1}^a\sum\limits_{j=1}^b\sum\limits_{d|\gcd(i,j)}\mu(d)\\
&=\sum\limits_{d=1}^a\mu(d)\sum\limits_{d|a}\sum\limits_{d|b}1\\
&=\sum\limits_{d=1}^a\mu(d)\lfloor\dfrac{a}{d}\rfloor\lfloor\dfrac{b}{d}\rfloor\\
\end{aligned}
\]
线性筛预处理 \(\mu(n)\) 前缀和,整除分块即可。那么 \(k>1\) 呢?直接 \(a\gets\lfloor\dfrac{a}{k}\rfloor\),\(b\gets\lfloor\dfrac{b}{k}\rfloor\) 即可。
容斥以后就跟上面是一样的了。
显然上式等于 \(\sum\limits_{d|n}d\times\varphi(\dfrac{n}{d})\)。因为 \(\varphi(n)\) 是积性函数,所以对于 \(n=\prod\limits_{i=1}^kp_i^{e_i}\),有上式等于 \(\prod\limits_{i=1}^k\sum\limits_{j=0}^{e_i}p_i^j\times\varphi(p_i^{e_i-j})\)。对于 \(e_i-j>0\),容易发现 \(p_i^j\times\varphi(p_i^{e_i-j})\) 始终为 \((p_i-1)p_i^{e_i-1}\)。所以上式等于 \(\prod\limits_{i=1}^ke_i(p_i-1)p_i^{e_i-1}+p_i^{e_i}\)。
相当于求 \(\sum\limits_{i=1}^b\sum\limits_{j=i}^d[\gcd(i,j)=k]\),在 ZAP-Queries 的基础上减去 \(-[b\ge 1]+\sum\limits_{i=1}^b\varphi(i)\) 即可。
md,有 \(k=0\) 的情况,不特判会 RE。
令 \(n\le m\)。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\text{lcm}(i,j)\\
&=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\dfrac{ij}{\gcd(i,j)}\\
&=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\sum\limits_{k|i,k|j,\gcd(\frac{i}{k},\frac{j}{k})=1}\dfrac{ij}{k}\\
&=\sum\limits_{k=1}^nk\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{k}\rfloor}ij\cdot [\gcd(i,j)=1]\\
&=\sum\limits_{k=1}^nk\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{k}\rfloor}ij\cdot \varepsilon(\gcd(i,j))\\
\end{aligned}
\]
记 \(f(n,m)=\sum\limits_{i=1}^n\sum\limits_{j=1}^mij\cdot \varepsilon(\gcd(i,j))\)。
\[\begin{aligned}
f(n,m)&=\sum\limits_{i=1}^n\sum\limits_{j=1}^mij\cdot \varepsilon(\gcd(i,j))\\
&=\sum\limits_{i=1}^n\sum\limits_{j=1}^mij\sum\limits_{d|\gcd(i,j)}\mu(d)\\
&=\sum\limits_{d=1}^n\mu(d)\cdot d^2\sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor}ij\\
&=\sum\limits_{d=1}^n\mu(d)\cdot d^2\dfrac{(\lfloor\frac{n}{d}\rfloor+1)\lfloor\frac{n}{d}\rfloor}{2}\cdot\dfrac{(\lfloor\frac{m}{d}\rfloor+1)\lfloor\frac{m}{d}\rfloor}{2}\\
\end{aligned}
\]
\(f(n,m)\) 可以整除分块 \(\mathcal{O}(\sqrt{n}+\sqrt{m})\) 求,\(ans=\sum\limits_{k=1}^nk\cdot f(\lfloor\frac{n}{k}\rfloor,\lfloor\frac{m}{k}\rfloor)\) 也可以整除分块 \(\mathcal{O}(\sqrt{n}+\sqrt{m})\) 求,总的就是 \(\mathcal{O}(n)\)。
算 \(f(n,m)\) 的时候注意因为 \(n,m\le10^7\),\(\dfrac{(\lfloor\frac{m}{d}\rfloor+1)\lfloor\frac{m}{d}\rfloor}{2}\) 先乘后除不会爆 long long,但如果直接乘上前面那部分再取模就会了,建议三项分别取模再一个个乘起来取模。
但是我们的时间复杂度就止步于线性了吗?
稍微加强一下题目:还是求一样的东西,但是多测,数据组数 \(T\le2000\)。怎么做?
把最终的式子写出来:
\[\begin{aligned}
ans&=\sum\limits_{k=1}^nk\cdot f(\lfloor\frac{n}{k}\rfloor,\lfloor\frac{m}{k}\rfloor)\\
&=\sum\limits_{k=1}^nk\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\cdot d^2\dfrac{(\lfloor\frac{\lfloor\frac{n}{k}\rfloor}{d}\rfloor+1)\lfloor\frac{\lfloor\frac{n}{k}\rfloor}{d}\rfloor}{2}\cdot\dfrac{(\lfloor\frac{\lfloor\frac{m}{k}\rfloor}{d}\rfloor+1)\lfloor\frac{\lfloor\frac{m}{k}\rfloor}{d}\rfloor}{2}\\
&=\sum\limits_{k=1}^nk\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\cdot d^2\dfrac{(\lfloor\frac{n}{kd}\rfloor+1)\lfloor\frac{n}{kd}\rfloor}{2}\cdot\dfrac{(\lfloor\frac{m}{kd}\rfloor+1)\lfloor\frac{m}{kd}\rfloor}{2}\\
\end{aligned}
\]
令 \(T=kd\)。
\[\begin{aligned}
ans&=\sum\limits_{k=1}^nk\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\cdot d^2\dfrac{(\lfloor\frac{n}{T}\rfloor+1)\lfloor\frac{n}{T}\rfloor}{2}\cdot\dfrac{(\lfloor\frac{m}{T}\rfloor+1)\lfloor\frac{m}{T}\rfloor}{2}\\
&=\sum\limits_{T=1}^n\dfrac{(\lfloor\frac{n}{T}\rfloor+1)\lfloor\frac{n}{T}\rfloor}{2}\cdot\dfrac{(\lfloor\frac{m}{T}\rfloor+1)\lfloor\frac{m}{T}\rfloor}{2}\sum\limits_{k|T}k\cdot \mu(\frac{T}{k})(\frac{T}{k})^2\\
&=\sum\limits_{T=1}^n\dfrac{(\lfloor\frac{n}{T}\rfloor+1)\lfloor\frac{n}{T}\rfloor}{2}\cdot\dfrac{(\lfloor\frac{m}{T}\rfloor+1)\lfloor\frac{m}{T}\rfloor}{2}\sum\limits_{d|T}\frac{T}{d}\cdot \mu(d)d^2\\
&=\sum\limits_{T=1}^n\dfrac{(\lfloor\frac{n}{T}\rfloor+1)\lfloor\frac{n}{T}\rfloor}{2}\cdot\dfrac{(\lfloor\frac{m}{T}\rfloor+1)\lfloor\frac{m}{T}\rfloor}{2}T\sum\limits_{d|T}\mu(d)d\\
\end{aligned}
\]
把后面那坨单独拎出来,设 \(g(n)=\sum\limits_{d|n}\mu(d)d\)。设有互质整数 \(a,b\),因为 \(\mu(n),Id_1(n)\) 都是积性函数,所以 \(g(ab)=\sum\limits_{d|ab}\mu(d)d=\sum\limits_{d_1|a,d_2|b}(\mu(d_1)\mu(d_2))(d_1d_2)=\sum\limits_{d_1|a,d_2|b}(\mu(d_1)d_1)(\mu(d_2)d_2)=g(a)g(b)\),故 \(g(n)\) 是积性函数。在从 \(g(n)\) 转移到 \(g(np)\) 时,有:
\[g(np)=\begin{cases}g(n)g(p)&p\nmid n\\g(n)&p\mid n\end{cases}
\]
稍微解释一下:当 \(d\) 中 \(p\) 的次数超过 1 时不会对 \(g\) 有贡献(此时 \(\mu(d)=0\))。初始条件 \(g(p)=1-p\)。
回到原式。线性筛 \(\mathcal{O}(n)\) 预处理 \(i\cdot g(i)\) 的前缀和,对 \(T\) 整除分块,时间复杂度优化到了 \(\mathcal{O}(n+T(\sqrt{n}+\sqrt{m}))\)。
没做出来,看了 oiwiki 之后大受震撼,就当见世面了。
多测,求 \(\sum\limits_{i=1}^n\text{lcm}(i,n)\)。\(n\le 10^6,T\le 3\times 10^5\)。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\text{lcm}(i,n)\\
&=\sum\limits_{i=1}^{n}\dfrac{in}{\gcd(i,n)}\\
&=n+\dfrac{1}{2}\sum\limits_{i=1}^{n-1}\dfrac{in}{\gcd(i,n)}+\dfrac{in}{\gcd(n-i,n)}\\
&=n+\dfrac{1}{2}\sum\limits_{i=1}^{n-1}\dfrac{in+(n-i)n}{\gcd(i,n)}\\
&=n+\dfrac{1}{2}\sum\limits_{i=1}^{n-1}\dfrac{n^2}{\gcd(i,n)}\\
&=\dfrac{n}{2}+\dfrac{1}{2}\sum\limits_{i=1}^{n}\dfrac{n^2}{\gcd(i,n)}\\
&=\dfrac{n}{2}+\dfrac{1}{2}\sum\limits_{i=1}^{n}\sum\limits_{d|i,d|n,\gcd(\frac{i}{d},\frac{n}{d})=1}\dfrac{n^2}{d}\\
&=\dfrac{n}{2}+\dfrac{n^2}{2}\sum\limits_{d|n}\frac{1}{d}\varphi(\frac{n}{d})\\
&=\dfrac{n}{2}+\dfrac{n^2}{2}\sum\limits_{d|n}\frac{d}{n}\varphi(d)\\
&=\dfrac{n}{2}+\dfrac{n}{2}\sum\limits_{d|n}d\varphi(d)\\
\end{aligned}
\]
令 \(f(n)=\sum\limits_{d|n}d\varphi(d)\),显然 \(f(n)\) 是积性函数。只要我们能线性筛出 \(f(n)\) 就可以做到 \(\mathcal{O}(n+T)\) 了。那么,能做到吗?
如果 \(p\nmid n\),则 \(f(np)=f(n)f(p)\);否则,令 \(n=n'p^k,\gcd(n',p)=1\),考虑 \(f(p^k)\) 的值。\(f(p^k)=\sum\limits_{i=0}^kp^i\varphi(p^i)=p^k\varphi(p^k)+\sum\limits_{i=0}^{k-1}p^i\varphi(p^i)=p^k(p-1)p^{k-1}+f(p^{k-1})\)。则
\[\begin{aligned}
&f(np)=f(n')f(p^{k+1})=f(n')((p-1)p^{2k+1}+f(p^k))\\
&f(n)=f(n')f(p^k)=f(n')((p-1)p^{2k-1}+f(p^{k-1}))\\
&f(\frac{n}{p})=f(n')f(p^{k-1})\\
\end{aligned}
\]
相邻作差得到
\[\begin{aligned}
&f(np)-f(n)=f(n')f(p^{k+1})=f(n')(p-1)p^{2k+1}\\
&f(n)-f(\frac{n}{p})=f(n')(p-1)p^{2k-1}\\
\end{aligned}
\]
故 \(f(np)=f(n)+f(n')(p-1)p^{2k+1}=f(n)+p^2(f(n)-f(\frac{n}{p}))\)。
实际上,这个题也可以用更套路的方法得到上式。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\text{lcm}(i,n)\\
&=n\sum\limits_{i=1}^{n}\dfrac{i}{\gcd(i,n)}\\
&=n\sum\limits_{d|n}\sum\limits_{i=1}^{n}\dfrac{i}{d}[\gcd(i,n)=d]\\
&=n\sum\limits_{d|n}\sum\limits_{i=1}^{\frac{n}{d}}i[\gcd(i,\frac{n}{d})=1]\\
\end{aligned}
\]
意思是说,我们现在要求不大于 \(\dfrac{n}{d}\) 的正整数中,与 \(\dfrac{n}{d}\) 互质的数的和。记其为 \(g(n)\),有
\[g(n)=\begin{cases}\dfrac{\varphi(n)n}{2}&n\ge 2\\1&n=1\end{cases}
\]
为什么?当 \(n\ge 2\) 时,如果有 \(i\) 与 \(n\) 互质,那么 \(n-i\) 也与 \(n\) 互质,可以进行一个配的对。
先根据 \(d(nm)\) 的性质推一下性质。
\[\begin{aligned}
d(nm)&=\sum\limits_{i|n}\sum\limits_{j|m}[\gcd(i,j)=1]\\
&=\sum\limits_{i|n}\sum\limits_{j|m}\varepsilon(\gcd(i,j))\\
&=\sum\limits_{i|n}\sum\limits_{j|m}\sum_{d|\gcd(i,j)}\mu(d)\\
&=\sum_{d=1}^n\mu(d)\sum\limits_{i|n}\sum\limits_{j|m}[d|\gcd(i,j)]\\
&=\sum_{d|n,d|m}\mu(d)\sum\limits_{i|\frac{n}{d}}\sum\limits_{j|\frac{m}{d}}1\\
&=\sum_{d|n,d|m}\mu(d)d(\frac{n}{d})d(\frac{m}{d})\\
\end{aligned}
\]
代回题目所求式子,得
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\sum\limits_{j=1}^m d(ij)\\
&=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\sum_{d|i,d|j}\mu(d)d(\frac{i}{d})d(\frac{j}{d})\\
&=\sum_{d=1}^n\mu(d)\sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor}d(i)d(j)\\
&=\sum_{d=1}^n\mu(d)\left(\sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor}d(i)\right)\left(\sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor}d(j)\right)\\
\end{aligned}
\]
可以在 \(\mathcal{O}(n)\) 的时间内预处理 \(d(i)\) 及其前缀和。
\[d(np)=\begin{cases}2d(n)&p\nmid n\\2d(n)-d(\frac{n}{p})&p\mid n\end{cases}
\]
总时间复杂度 \(\mathcal{O}(n+T\sqrt{n})\)。
\[\begin{aligned}
ans&=\prod\limits_{i=1}^n\prod\limits_{j=1}^mf_{\gcd(i,j)}\\
\end{aligned}
\]
令 \(f(n,m,k)=\sum\limits_{i=1}^n\sum\limits_{j=1}^m[\gcd(i,j)=k]\),有 \(f(n,m,k)=\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\lfloor\frac{\lfloor\frac{n}{k}\rfloor}{d}\rfloor\lfloor\frac{\lfloor\frac{m}{k}\rfloor}{d}\rfloor=\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\lfloor\frac{n}{kd}\rfloor\lfloor\frac{m}{kd}\rfloor\)。则:
\[\begin{aligned}
ans&=\prod\limits_{k=1}^nf_k^{f(n,m,k)}\\
\end{aligned}
\]
两次整除分块可以 \(\mathcal{O}(n)\),但还是接受不了。
还是套路的设 \(T=kd\),枚举 \(T\)。此时 \(f(n,m,k)=\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor=\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\)。
\[\begin{aligned}
ans&=\prod\limits_{k=1}^nf_k^{f(n,m,k)}\\
&=\prod\limits_{T=1}^n\left(\prod\limits_{k|T}f_k^{\mu(\frac{T}{k})}\right)^{\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor}\\
\end{aligned}
\]
设 \(g(n)=\prod\limits_{d|n}f_d^{\mu(\frac{n}{d})}\)。\(g(n)\) 并没有什么性质,所以我们 \(\mathcal{O}(n\log n)\) 预处理,同时预处理出 \(g(n)\) 的前缀积及其逆元。每次询问对 \(T\) 整除分块 \(\mathcal{O}(\sqrt{n}\log n)\) 解决(\(\log n\) 是快速幂的复杂度)。
题目本身很简单,可以当小甜点。
\[\begin{aligned}
ans&=\prod\limits_{i=1}^n\prod\limits_{j=1}^n\frac{\text{lcm}(i,j)}{\gcd(i,j)}\\
&=\prod\limits_{i=1}^n\prod\limits_{j=1}^n\frac{ij}{\gcd^2(i,j)}\\
&=(n!)^{2n}\prod\limits_{i=1}^n\prod\limits_{j=1}^n\frac{1}{(\gcd(i,j))^2}\\
\end{aligned}
\]
把后面的分母单独提出来,令 \(f(n,m)=\prod\limits_{i=1}^n\prod\limits_{j=1}^n(\gcd(i,j))^2\)。
\[\begin{aligned}
f(n,m)&=\prod\limits_{k=1}^n(k^2)^{\sum\limits_{i=1}^n\sum\limits_{j=1}^n[\gcd(i,j)=k]}\\
\end{aligned}
\]
后面的就是典中典了,两次整除分块 \(\mathcal{O}(n)\) 送走。总时间复杂度 \(\mathcal{O}(n+\sqrt{n}\log n)\)。
卡空间可以自己随便卡卡。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\sum\limits_{j=1}^n\gcd(i,j)\\
&=\sum\limits_{k=1}^nk\sum\limits_{i=1}^n\sum\limits_{j=1}^n[\gcd(i,j)=k]\\
&=\sum\limits_{k=1}^nk\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{n}{k}\rfloor}[\gcd(i,j)=1]\\
&=\sum\limits_{k=1}^nk\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{d|\gcd(i,j)}\mu(d)\\
&=\sum\limits_{k=1}^nk\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\left\lfloor\frac{n}{dk}\right\rfloor^2\\
\end{aligned}
\]
还是老套路,令 \(T=dk\)。
\[\begin{aligned}
ans&=\sum\limits_{k=1}^nk\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\left\lfloor\frac{n}{dk}\right\rfloor^2\\
&=\sum\limits_{T=1}^n\left\lfloor\frac{n}{T}\right\rfloor^2\sum\limits_{d|T}\frac{T}{d}\mu(d)\\
\end{aligned}
\]
后面的是积性函数,所以总时间复杂度 \(\mathcal{O}(n+\sqrt{n})\)(当然只有一次询问你可以直接两次整除分块)。
这是一个从 lsj 学长的博客里学来的神奇反演方法:我们可以用 \(\sum\limits_{d|n}\varphi(d)=n\) 来反演。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\sum\limits_{j=1}^n\gcd(i,j)\\
ans&=\sum\limits_{i=1}^n\sum\limits_{j=1}^n\sum\limits_{d|\gcd(i,j)}\varphi(d)\\
ans&=\sum\limits_{d=1}^n\varphi(d)\left\lfloor\dfrac{n}{d}\right\rfloor^2\\
\end{aligned}
\]
我愿称之为欧拉反演。
容斥之后跟上面一道题差不多,就不写了。
跟上一道题做法相同,但是需要究极卡常。大概说一下需要注意的点:
-
火车头,long long
;
-
除法很慢,所以我们可以预先计算好 \(\dfrac{1}{i}\) 然后做乘法;
-
直接算容斥是 \(4\times 2=8\) 倍常数的,其实可以一次计算;
-
根号分治:当 \(i\) 很小的时候直接跑暴力,大的时候再跑整除分块;
-
spoj 上语言选 c++14。
五倍经验,数据范围递增。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\sum\limits_{j=i+1}^n\gcd(i,j)\\
&=\sum\limits_{k=1}^nk\sum\limits_{i=1}^n\sum\limits_{j=i+1}^n[\gcd(i,j)=k]\\
&=\sum\limits_{k=1}^nk\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=i+1}^{\lfloor\frac{n}{k}\rfloor}[\gcd(i,j)=1]\\
&=\sum\limits_{k=1}^nk\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=i+1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{d|\gcd(i,j)}\mu(d)\\
&=\sum\limits_{k=1}^nk\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\frac{\left(\lfloor\frac{n}{dk}\rfloor-1\right)\lfloor\frac{n}{dk}\rfloor}{2}\\
\end{aligned}
\]
剩下的就跟上一道题差不多了。
上一道题的数据加强版,杜教筛即可。
P2568 可以看做 P2257/SP4491 的弱化版,所以直接写 P2257 了。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\sum\limits_{j=1}^m[\gcd(i,j)\text{ is prime}]\\
&=\sum\limits_{k\text{ is prime}}^n\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{k}\rfloor}\sum\limits_{d|\gcd(i,j)}\mu(d)\\
&=\sum\limits_{k\text{ is prime}}^n\sum\limits_{d=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\lfloor\frac{n}{kd}\rfloor\lfloor\frac{m}{kd}\rfloor\\
&=\sum\limits_{T=1}^n\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum\limits_{k\text{ is prime}\land k|T}\mu(\frac{T}{k})\\
\end{aligned}
\]
剩下的直接先筛出 \(\mu\),再枚举 \(k\) 预处理后面那坨即可。
乐。
求 \(\text{lcm}(a_i,a_j)\) 非常奇怪,因为它并不是在数轴上连续的。考虑 \(c_i\) 表示 \(a_j=i\) 的 \(j\) 有多少个,\(A\) 表示 \(\max\limits_{i=1}^n\left\{a_i\right\}\)。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^A\sum\limits_{j=1}^A\text{lcm}(i,j)\cdot c_i\cdot c_j\\
&=\sum\limits_{i=1}^A\sum\limits_{j=1}^A\frac{ij\cdot c_ic_j}{\gcd(i,j)}\\
&=\sum\limits_{k=1}^A\frac{1}{k}\times k^2\sum\limits_{i=1}^{\lfloor\frac{A}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{A}{k}\rfloor}ij\cdot c_{ik}c_{jk}\cdot [\gcd(i,j)=1]\\
&=\sum\limits_{k=1}^Ak\sum\limits_{d=1}^{\lfloor\frac{A}{k}\rfloor}d^2\mu(d)\sum\limits_{i=1}^{\lfloor\frac{A}{kd}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{A}{kd}\rfloor}ij\cdot c_{ikd}c_{jkd}\\
&=\sum\limits_{T=1}^AT\left(\sum\limits_{i=1}^{\lfloor\frac{A}{T}\rfloor}i\cdot c_{iT}\right)^2\sum\limits_{d|T}d\mu(d)
\end{aligned}
\]
可以 \(\mathcal{O}(n\ln n)\)。
同上,最后答案减去 \(\sum\limits_{i=1}^n a_i\) 再除 2 即可。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\gcd(i,j)^k\\
&=\sum\limits_{T=1}^n\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum\limits_{d|T}\mu(d)(\frac{T}{d})^k\\
\end{aligned}
\]
令 \(f(T)=\sum\limits_{d|T}\mu(d)(\frac{T}{d})^k\),显然这是积性函数,然后如果 \(p|n\) 那么 \(f(np)=p^kf(n)\),然后可以线性筛。
观察可以发现,对于一个坐标 \((kx,ky)\) 满足 \(\gcd(x,y)=1\),所有的 \(i\in[1,k),(ix,iy)\) 都会使得 \((kx,ky)\) 损失能量,故所求答案可以写成 \(\sum\limits_{i=1}^n\sum\limits_{j=1}^m(2(\gcd(i,j)-1)+1)\),后面随便做了。
好题。照例先推推式子
\[\begin{aligned}
ans&=\sum\limits_{a_1=1}^m\sum\limits_{a_2=1}^m\ldots\sum\limits_{a_n=1}^m[\sum\limits_{i=1}^na_i=m][\gcd\limits_{i=1}^n\{a_i\}=1]\\
&=\sum\limits_{a_1=1}^m\sum\limits_{a_2=1}^m\ldots\sum\limits_{a_n=1}^m[\sum\limits_{i=1}^na_i=m]\sum\limits_{d|\gcd}\mu(d)\\
&=\sum\limits_{d|m}\mu(d)\sum\limits_{a_1=1}^{\frac{m}{d}}\sum\limits_{a_2=1}^{\frac{m}{d}}\ldots\sum\limits_{a_n=1}^{\frac{m}{d}}[\sum\limits_{i=1}^na_i=\frac{m}{d}]\\
&=\sum\limits_{d|m}\mu(d)\sum\limits_{a_1=1}^{\frac{m}{d}}\sum\limits_{a_2=1}^{\frac{m}{d}}\ldots\sum\limits_{a_n=1}^{\frac{m}{d}}[\sum\limits_{i=1}^na_i=\frac{m}{d}]\\
\end{aligned}
\]
后面那一坨是简单的插板法,等于 \(\dbinom{\dfrac{m}{d}-1}{n-1}\)。于是就可以计算了!
和上一道题差不多啊,只是没有个数限制了,一样的。
突然感觉好简单啊,为什么以前不会()
下文令 \(L\gets \lceil\dfrac{L}{k}\rceil\),\(R\gets \lfloor\dfrac{R}{k}\rfloor\)。
\[\begin{aligned}
ans&=\sum\limits_{a_i\in[L,R]}[\gcd(a_i)=1]\\
&=\sum\limits_{d=1}^R\mu(d)\sum\limits_{a_i\in[L,R]}[d|\gcd(a_i)]\\
&=\sum\limits_{d=1}^R\mu(d)(\lfloor\dfrac{R}{d}\rfloor-\lceil\dfrac{L}{d}\rceil+1)^n\\
\end{aligned}
\]
杜教筛维护一下 \(\mu\) 前缀和即可。
老年人 *2200 做半天。
\[\begin{aligned}
ans&=\sum\limits_{i=1}^n\sum\limits_{j=1}^n\gcd(a_i,a_j)\gcd(i,j)\\
&=\sum\limits_{d=1}^n\varphi(d)\sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{n}{d}\rfloor}\gcd(a_{id},a_{jd})\\
&=\sum\limits_{d=1}^n\varphi(d)\sum\limits_{k}\varphi(k)\sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor}[k|a_{id}]\sum\limits_{j=1}^{\lfloor\frac{n}{d}\rfloor}[k|a_{jd}]\\
&=\sum\limits_{d=1}^n\varphi(d)\sum\limits_{k}\varphi(k)(\sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor}[k|a_{id}])^2\\
\end{aligned}
\]
复杂度 \(\mathcal{O}(n\ln nd(n))\)。
\[\begin{aligned}
ans&=\sum_{i=1}^n\sum_{j=1}^nij\gcd(i,j)\\
&=\sum_{i=1}^n\sum_{j=1}^n\sum_{d|\gcd(i,j)}\varphi(d)\\
&=\sum_{d=1}^n\varphi(d)d^2\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}ij\\
&=\sum_{d=1}^n\varphi(d)d^2f(\lfloor\frac{n}{d}\rfloor)\\
\end{aligned}
\]
其中 \(f(n)=\sum_{i=1}^{n}\sum_{j=1}^{n}ij=\frac{n^2(n+1)^2}{4}\)。
求 \(\sum_d\varphi(d)d^2\) 也很简单啊,卷上 \(Id_2\) 之后杜教筛就行。注意 \(\sum_{i=1}^ni^2=\frac{i(i+1)(2i+1)}{6}\),\(\sum_{i=1}^n i^3=f(n)\)。