一路数论算法题,求高手支招

一道数论算法题,求高手支招
莫比乌斯函数,记作μ(n)定义如下:
μ(n) = (-1)^ω(n),如果n没有任何平方数因子,其中ω(n)为n的质因子个数。
μ(n) = 0,如果n有平方数因子。
令P(a,b)为闭区间[a, b]里的正整数n中,符合μ(n) = 1的个数。
令N(a,b)为闭区间[a, b]里的正整数n中,符合μ(n) = -1的个数。
例如,P(2,10) = 2以及N(2,10) = 4。
令C(n)为正整数对(a,b)符合下列规则的个数:
1≤a≤b≤n
99•N(a,b) ≤100•P(a,b)
99•P(a,b) ≤100•N(a,b)
例如,C(10) = 13,C(500) = 16676以及C(10000) = 20155319。
请求出C(20000000)。

------解决方案--------------------
筛出来mu
计算X(n)=100*P(1,n)-99*N(1,n), Y(n)=100*N(1,n)-99*P(1,n)
接下来就是统计有多少a,b使得X(b)>=X(a), Y(b)>=Y(a)
不过最后这个好像是个类似于逆序数对统计的问题?