有一个神奇的技巧——打表

code:

#include <bits/stdc++.h>
#define N 10000007
#define ll long long
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int cnt;
int vis[N],prime[N],g[N],mu[N],nump[N],minp[N],qp[N];
void Initialize()
{
int i,j;
mu[1]=1;
for(i=2;i<N;++i)
{
if(!vis[i])
{
prime[++cnt]=i;
nump[i]=1;
minp[i]=i;
qp[i]=i;
g[i]=1;
}
for(j=1;j<=cnt&&prime[j]*i<N;++j)
{
vis[i*prime[j]]=1;
int k=i*prime[j];
if(i%prime[j])
{
nump[k]=1;
qp[k]=minp[k]=prime[j];
if(nump[i]==1) g[k]=-g[i];
}
else
{
nump[k]=nump[i]+1;
minp[k]=prime[j];
qp[k]=qp[i]*prime[j];
if(k==qp[k]) g[k]=1;
else if(nump[k]==nump[k/qp[k]]) g[k]=-g[k/qp[k]];
break;
}
}
}
for(i=2;i<N;++i) g[i]+=g[i-1];
}
void solve(int a,int b)
{
if(a>b) swap(a,b);
int i,j;
ll ans=0ll;
for(i=1;i<=a;i=j+1)
{
j=min(a/(a/i),b/(b/i));
ans=ans+(ll)(a/i)*(b/i)*(g[j]-g[i-1]);
}
printf("%lld\n",ans);
}
int main()
{
// setIO("input");
Initialize();
int i,j,T;
scanf("%d",&T);
while(T--)
{
int a,b;
scanf("%d%d",&a,&b);
solve(a,b);
}
return 0;
}

  

最新文章

  1. APP多版本共存,服务端如何兼容?
  2. const的位置与区别
  3. JavaScript基础插曲---apply,call和URL编码等方法
  4. Python基础2- Hello,world
  5. Java Day 15
  6. [原创]C语言利用pcre正则表达式库
  7. Ombrophobic Bovines
  8. 第1章 软件测试基本概念(Week1,3月3日)
  9. Android网络开发之OkHttp--基本用法GET
  10. python scrapy 抓取脚本之家文章(scrapy 入门使用简介)
  11. vue-用Vue-cli从零开始搭建一个Vue项目
  12. ERROR: While executing gem … (Gem::RemoteFetcher::FetchError)
  13. ES6 学习笔记(整理一遍阮一峰大神得入门文档,纯自己理解使用)
  14. ASP.NET MVC 3.0 参考源码索引
  15. 树形dp(C - Choosing Capital for Treeland CodeForces - 219D )
  16. ZT 感触的屌丝职场记 投递人 itwriter 发布于 2013-05-27 09:21 评论(18) 有3402人阅读 原文链接 [收藏] &#171; &#187;   作者@幻想哥呀幻想哥   有一位屌丝男,从小抱着报效祖国的理想上了大学,毕业后干了 IT 行业,高中那时候看文汇报说,搞 IT 的在上
  17. 在Jboss中使用Quartz
  18. [codeforces934E]A Colourful Prospect
  19. LINQ 学习路程 -- 开篇
  20. kernel thread vs user thread

热门文章

  1. Python之路【第三十篇】:django 模型层-多表关系
  2. SQL Join连接大小表在前在后的重要性(小表在前提高执行效率)
  3. 【1】【leetcode-5】最长回文子串
  4. The driver is automatically registered via the SPI and manual loading of the driver class....
  5. dump net core lldb 安装
  6. Vue项目整体架构记要
  7. vue 属性props定义方法
  8. slf4j的正确使用
  9. Spring的核心机制:依赖注入
  10. unity shader入门(二)语义,结构体,逐顶点光照