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)\) 写成这种形式,比分解质因数的形式更利于推式子。
所以
于是:
有结论 \(\varphi(ij)=\frac{\varphi(i)\varphi(j)\gcd(i,j)}{\varphi(\gcd(i,j))}\)
令 \(g(i)=f(i)\varphi(i)\),原式可化为
直接枚举的计算次数为 \(\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}\)
两者相等,于是得证。

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号