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