计算N内点对互质个数

这是一个在别人blog上看到的比较厉害的做法。。

我们现在要求一个东西

f(N)=1x,yN,gcd(x,y)=1 1

g(N)=1x,yN 1=N2
fk(N)=1x,yN,gcd(x,y)=k 1
那么很显然的是 g(N)=Nk=1fk(N)
并且 fk(N)=f1(NK)
那么 g(N)=Nk=1f1(NK)

然后很显然对于每个 N 最多只会有 (N) 个不同的 NK

我们每次记忆化搜索 f(N) 即可。。

实测效果极佳。。。

你可能感兴趣的:(计算N内点对互质个数)