Description:
在平面直角坐标系中,四个端点为
(x,y),(x+1,y),(x,y+1),(x+1,y+1)
的正方形称为单位正方形。之后我们考虑所有端点在
(0,0)∼(N,M) (N,M<=106)
范围内的正方形,所有被其包含完全包含的单位正方形,都会被放上一个标记,问一共被放了多少个标记。
Solution:
由对称性不妨设
N<=M
首先考虑如下绿色正方形:
令我们令外面的正方形的边长为
L
,中间画出的小三角形的竖直边为
那么 ANS=∑min(N,M)L=1(N−L+1)∗(M−L+1)∑Li=1f(L,i)
=∑N)L=1(N−L+1)∗(M−L+1)∑Li=1L2−2i∗L+2i2+2gcd(i,L)
=∑NL=1[(N+1)∗(M+1)+(N+M+2)∗L+L2]∑Li=1L2−2i∗L+2i2+2gcd(i,L)
又 ∑Li=1gcd(i,L)=∑i|Li∗φ(Li) ,所以我们可以很容易的求出这些前缀和。之后我们只需要求出 ANS 表达式中的所有项的前缀和然后做到 O(1) 询问就行了。