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

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

直接做 15 分。

考虑 i,j 对询问的贡献,那么 i,j 的答案将贡献到 nkmax(i,j),tkgcd(i,j)(nk,tk) 这相当于一个二维的矩阵加,直接二维差分即可。

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

复杂度 O(n2+c)。有 30 分。

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

φ(n)=np|n(11p) 写成这种形式,比分解质因数的形式更利于推式子。

所以

φ(ij)φ(i)φ(j)=p|ij(11p)p|i(11p)p|j(11p)=1p|gcd(i,j)(11p)=gcd(i,j)φ(gcd(i,j)

于是:

有结论 φ(ij)=φ(i)φ(j)gcd(i,j)φ(gcd(i,j))

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

d=1tdφ(d)u=1n/dμ(u)(in/(du)g(idu))2

直接枚举的计算次数为 i=1tj=1n/iniji=1tnilnni<lnni=1tni<nln2n

一个巧妙的分析复杂度。

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

为了”平衡复杂度“,使用分块做到 O(nln2+cn)


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

i=pk1,j=pk2,不妨令 k1<k2

φ(ij)=(p1)pk1+k21φ(i)φ(j)gcd(i,j)φ(gcd(i,j))=(p1)pk11(p1)pk21pk1(p1)pk11=(p1)pk1+k21

两者相等,于是得证。

作者:lupengheyyds

出处:https://www.cnblogs.com/lupengheyyds/p/18741139

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   lupengheyyds  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示