P1829 [国家集训队]Crash的数字表格 / JZPTAB
题意
给出 n,m 求解:
i=1∑nj=1∑mlcm(i,j)
1⩽n,m⩽107
思路
对原式进行数论变换:
i=1∑nj=1∑mlcm(i,j)=i=1∑nj=1∑mgcd(i,j)i⋅j提取公因式d=1∑min(n,m)i=1∑nj=1∑mdi⋅j⋅[gcd(i,j)=d]i=i/d,j=j/dd=1∑min(n,m)i=1∑⌊dn⌋j=1∑⌊dm⌋did⋅jd⋅[gcd(id,jd)=d]=d=1∑min(n,m)i=1∑⌊dn⌋j=1∑⌊dm⌋i⋅j⋅d⋅[gcd(i,j)=1]=d=1∑min(n,m)di=1∑⌊dn⌋j=1∑⌊dm⌋i⋅j⋅ε(gcd(i,j))=d=1∑min(n,m)di=1∑⌊dn⌋j=1∑⌊dm⌋i⋅j⋅(μ∗1)(gcd(i,j))=d=1∑min(n,m)di=1∑⌊dn⌋j=1∑⌊dm⌋i⋅j⋅t∣gcd(i,j)∑μ(t)=d=1∑min(n,m)dt=1∑min(⌊dn⌋,⌊dm⌋)i=1∑⌊dn⌋[t∣i]j=1∑⌊dm⌋[t∣j]⋅i⋅j⋅μ(t)i=i/t,j=j/td=1∑min(n,m)dt=1∑min(⌊dn⌋,⌊dm⌋)i=1∑⌊dtn⌋j=1∑⌊dtm⌋it⋅jt⋅μ(t)=d=1∑min(n,m)dt=1∑min(⌊dn⌋,⌊dm⌋)t2μ(t)i=1∑⌊dtn⌋ij=1∑⌊dtm⌋j=d=1∑min(n,m)dt=1∑min(⌊dn⌋,⌊dm⌋)t2μ(t)⋅2(1+⌊dtn⌋)(⌊dtn⌋)⋅2(1+⌊dtm⌋)(⌊dtm⌋)
其中,数论函数 ε,μ,1 见 积性函数-例子
最终的式子可以使用二维 数论分块 解决,用线性筛筛出 μ 函数,顺便维护 t2μ(t) 的前缀和。
总复杂度 O(N⋅N)=O(N)。
点击显/隐代码