Loading

2025洛谷D2T2省选模拟赛D2T2”wind“ 题解

2025洛谷D2T2省选模拟赛D2T2“wind” 题解

直接做 15 分。

考虑 \(i,j\) 对询问的贡献,那么 \(i,j\) 的答案将贡献到 \(\forall n_k\ge\max(i,j),t_k\ge \gcd(i,j)\)\((n_k,t_k)\) 这相当于一个二维的矩阵加,直接二维差分即可。

做了太多大值域的题,看到二维就想扫描线,忘了甚至可以直接差分与前缀和。

复杂度 \(\mathcal O(n^2+c)\)。有 30 分。

现在要考虑将 \(\varphi(ij)\) 拆成 \(\varphi(i)\varphi(j)\) 的形式。可以直接考虑作除法。

\(\varphi(n)=n\prod_{p|n}(1-\frac 1p)\) 写成这种形式,比分解质因数的形式更利于推式子。

所以

\[\begin{aligned} \frac{\varphi(ij)}{\varphi(i)\varphi(j)}&=\frac{\prod_{p|ij}(1-\frac 1p)}{\prod_{p|i}(1-\frac 1p)\prod_{p|j}(1-\frac 1p)}\\ &=\frac{1}{\prod_{p|\gcd(i,j)}(1-\frac1p)}\\&=\frac{\gcd(i,j)}{\varphi(\gcd(i,j)} \end{aligned} \]

于是:

有结论 \(\varphi(ij)=\frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))}\)

\(g(i)=f(i)\varphi(i)\),原式可化为

\[\sum\limits_{d=1}^t\frac{d}{\varphi(d)}\sum\limits_{u=1}^{n/d}\mu(u)(\sum\limits_{i}^{n/(du)}g(idu))^2 \]

直接枚举的计算次数为 \(\sum_{i=1}^t\sum_{j=1}^{n/i}\frac{n}{ij}\approx \sum_{i=1}^t\frac ni\ln \frac ni<\ln n\sum_{i=1}^t\frac ni<n\ln^2n\)

一个巧妙的分析复杂度。

发现 \(t\) 仅仅限制了最外层枚举的上界,我们可以直接离线对 \(t\) 扫描线。用 \(30\) 分的贡献思路,\(i\) 将贡献到 \(\forall n\ge ui\) 相当于单点修改区间求和。

为了”平衡复杂度“,使用分块做到 \(\mathcal O(n\ln^2+c\sqrt n)\)


对于 \(\varphi(ij)=\frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))}\),左边是一个积性函数,右边是一堆积性函数的乘积也是积性函数,那么我们只要证明其在素数幂处相等即可。

\(i=p^{k_1},j=p^{k_2}\),不妨令 \(k_1<k_2\)

\(\varphi(ij)=(p-1)p^{k_1+k_2-1}\)\(\frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))}=\frac{(p-1)p^{k_1-1}(p-1)p^{k_2-1}p^{k_1}}{(p-1)p^{k_1-1}}=(p-1)p^{k_1+k_2-1}\)

两者相等,于是得证。

posted @ 2025-02-27 15:56  lupengheyyds  阅读(69)  评论(0)    收藏  举报