[BZOJ2820]YY的GCD

[BZOJ2820]YY的GCD

试题描述

神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种傻×必然不会了,于是向你来请教……多组输入

输入

第一行一个整数T 表述数据组数接下来T行,每行两个正整数,表示N, M

输出

T行,每行一个整数表示第i组数据的结果

输入示例

2
10 10
100 100

输出示例

30
2791

数据规模及约定

T = 10000
N, M <= 10000000

题解

枚举公约素数 p,那么有

令 T = dp,并交换一下枚举顺序,得到

于是我们只需要预处理出

的前缀和,就可以 O(sqrt(n)) 回答每次询问了。

我们暴力枚举每个质数 p,然后更新 p 的倍数位置上的值,得到 f(T)(复杂度为 O(n / ln(n) * log(n))),然后 O(n) 求前缀和即可。

 

posted @   xjr01  阅读(237)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示