这题是「『SDOI2018』旧试题」的弱化版。
等我搞懂三元环计数做法再去做那题吧。
A∑i=1B∑j=1C∑k=1d(ijk)=A∑i=1B∑j=1C∑k=1∑x|i∑y|j∑z|k[gcd(x,y)=1][gcd(x,z)=1][gcd(y,z)=1]=A∑x=1B∑y=1C∑z=1⌊Ax⌋⌊By⌋⌊Cz⌋[gcd(x,y)=1][gcd(x,z)=1][gcd(y,z)=1]=A∑x=1B∑y=1C∑k=1⌊Ax⌋⌊By⌋⌊Cz⌋[gcd(x,z)=1][gcd(y,z)=1]∑d|gcd(x,y)μ(d)=min(A,B)∑d=1μ(d)⌊Ad⌋∑x=1⌊Adx⌋⌊Bd⌋∑y=1⌊Bdy⌋C∑z=1⌊Cz⌋[gcd(dx,z)=1][gcd(dy,z)=1]=min(A,B)∑d=1μ(d)⌊Ad⌋∑x=1⌊Adx⌋⌊Bd⌋∑y=1⌊Bdy⌋C∑z=1⌊Cz⌋[gcd(x,z)=1][gcd(y,z)=1][gcd(d,z)=1]=C∑z=1⌊Cz⌋min(A,B)∑d=1[gcd(d,z)=1]μ(d)⌊Ad⌋∑x=1[gcd(x,z)=1]⌊Adx⌋⌊Bd⌋∑y=1[gcd(y,z)=1]⌊Bdy⌋
然后暴力算。
设 n=max(A,B,C),复杂度是 O(n2logn) 左右(反正三个都同阶随便把 n 换成一个都行)。
代码:
1 |
|