不妨先把所有要求的素数的对的个数写出来

f(2)=u(1)G(2)+u(2)*G(2*2)+u(3)*G(2*3)+.....u(k2)*G(2*k2)

f(3)=u(1)G(3)+u(2)*G(2*3)+u(3)*G(3*3)+.....u(k3)*G(3*k3)

....

f(p)=u(1)G(p)+u(2)*G(2*p)+u(3)*G(p*3)+.....u(kp)*G(p*kp)

相加之后

会发现,其实G的变量是从1~n的。于是,最重要便 是求出其合并后的系数了。怎么样求呢?我不懂,看了看别人的,发现竟有这样一个等式

于是,在线性筛选法上加上相关语句就可以求到相应的系数了。线性筛选:

http://wenku.baidu.com/link?url=ufaT0myBu70JxfkYUDsAtgPin6Y4uI8DwU43QCiQoqOOY9xhJJg3jr6DVn24sF2mAXRYrM6Hjrai-vMwfQ7-5IbQVDqwCGIwVzZR6xMVxiq

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 10000005 using namespace std;
typedef long long LL; bool check[N];
int mu[N],tot;
int prime[N],he[N]; void initial(){
memset(check,false,sizeof(check));
memset(he,0,sizeof(he));
mu[1]=1;
tot=0;
for(LL i=2;i<N;i++){
if(!check[i]){
prime[tot++]=i;
he[i]=1;
mu[i]=-1;
}
for(LL j=0;j<tot;j++){
if(i*prime[j]>N) break;
check[i*prime[j]]=true;
if(i%prime[j]==0){
mu[i*prime[j]]=0;
he[i * prime[j]] = mu[i];
break;
}
else{
he[i*prime[j]] = mu[i] - he[i]; mu[i*prime[j]]=-mu[i];
}
}
}
for(int i=2;i<N;i++)
he[i]+=he[i-1];
} LL slove(int tx,int ty){
if(tx>ty) swap(tx,ty);
int l=1,r,p1,p2;
LL ans=0;
while(l<=tx){
r=min(min(tx/(p1=tx/l),ty/(p2=ty/l)),tx);
ans+=((LL) p1*(LL )p2*(LL )(he[r]-he[l-1]));
l=r+1;
}
return ans;
} int main(){
initial();
int T;
scanf("%d",&T);
int x,y,tx,ty;
LL ans;
while(T--){
scanf("%d%d",&x,&y);
ans=slove(x,y);
printf("%lld\n",ans);
}
return 0;
}

  

最新文章

  1. MySQL frm+ibd文件还原data的办法【数据恢复】
  2. 罗技 UE3100 蓝牙耳机使用
  3. socketserver服务器
  4. Codeforces Round #379 (Div. 2) F. Anton and School
  5. Elasticsearch DSL中Query与Filter的不同
  6. I-number
  7. Android文字跑马灯控件(文本自动滚动控件)
  8. vs2012 断点不能调试
  9. javascript pattern
  10. Struts2自己定义拦截器实例—登陆权限验证
  11. 对echarts的简单封装
  12. DNS信息
  13. Potato(邪恶土豆)–windows全版本猥琐提权
  14. webpack4 打包报错 :regeneratorRuntime is not defined
  15. php使用protobuf3
  16. mongo中常用的增删改查
  17. 【搜索】传感器 @upcexam6023
  18. 使用 jQuery 调用 ASP.NET AJAX Page Method
  19. c语言fork 多进程
  20. jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址

热门文章

  1. 第二篇:SpringBoot配置详解
  2. vijos- P1385盗窃-月之眼 (水题 + python)
  3. UI_KVC赋值
  4. TLS握手
  5. php静态函数的使用场景
  6. qq邮箱的SMTP服务器是什么
  7. 用户命令切换-命令su
  8. 关于spring和extjs对接的过程简述
  9. $.ajax 和$.post的区别
  10. 多元一次方程解法 C++