T4:公约数
思考难度:提高?
代码难度:省选-?
算法1:暴力计算
实际得分:10
算法2:
首先gcd(i⋅j,i⋅k,j⋅k)=gcd(i,j,k)gcd(i,j)×gcd(i,k)×gcd(j,k)
所以原式=∑i=1n∑j=1m∑k=1p(gcd2(i,j)+gcd2(i,k)+gcd2(j,k))
考虑一个式子∑i=1n∑j=1mgcd2(i,j)=∑d=1min(n,m)∑x∣dd2μ(dx)
考虑对后面的∑分块计算,O(n+T⋅nn)
实际得分:30
算法3:
发现前面的∑也可以分块,O(n+T⋅n)
实际得分:50
算法4:
考虑令f(x)=x2,g(x)=μ(x),计算这两个函数的狄利克雷卷积h(x),再对h(x)分块计算,O(n+T⋅n)
实际得分:100
算法5:
杜教筛一下,把预处理复杂度由O(n)降低为O(n32),我太懒了没有学杜教筛
实际得分:100