题意:

思路:

 #include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair<int,int> PII;
typedef vector<int> VI;
#define fi first
#define se second
#define MP make_pair
#define N 110000
#define M 41000
#define eps 1e-8
#define pi acos(-1)
#define oo 1e9 int flag[N],prime[N],mu[N],t[N],ans[N],mx;
struct node
{
int n,m,a,id;
}q[N];
pair<int,int> F[N]; bool operator< (node a,node b)
{
return a.a<b.a;
} int lowbit(int x)
{
return x&(-x);
} void add(int x,int y)
{
while(x<=mx)
{
t[x]=t[x]+y;
x+=lowbit(x);
}
} int query(int x)
{
int ans=;
while(x)
{
ans+=t[x];
x-=lowbit(x);
}
return ans;
} void calc(int k)
{
int n=q[k].n;
int m=q[k].m;
int id=q[k].id;
int i=;
while(i<=n)
{
int x=n/i; int y=m/i;
int t1=n/x; int t2=m/y;
int pos=min(t1,t2);
ans[id]+=x*y*(query(pos)-query(i-));
i=pos+;
}
} int main()
{
freopen("bzoj3529.in","r",stdin);
freopen("bzoj3529.out","w",stdout);
int Q;
scanf("%d",&Q);
mx=;
for(int i=;i<=Q;i++)
{
scanf("%d%d%d",&q[i].n,&q[i].m,&q[i].a);
q[i].id=i;
if(q[i].n>q[i].m) swap(q[i].n,q[i].m);
mx=max(mx,q[i].n);
} mu[]=;
int tot=;
for(int i=;i<=mx;i++)
{
if(!flag[i])
{
prime[++tot]=i;
mu[i]=-;
}
for(int j=;j<=tot;j++)
{
int t=prime[j]*i;
if(t>mx) break;
flag[t]=;
if(i%prime[j]==)
{
mu[t]=;
break;
}
mu[t]=-mu[i];
}
}
for(int i=;i<=mx;i++)
for(int j=i;j<=mx;j+=i) F[j].fi+=i;
for(int i=;i<=mx;i++) F[i].se=i;
sort(q+,q+Q+);
sort(F+,F+mx+);
int j=;
for(int i=;i<=Q;i++)
{
while(j+<=mx&&F[j+].fi<=q[i].a)
{
j++;
for(int k=F[j].se;k<=mx;k+=F[j].se)
add(k,F[j].first*mu[k/F[j].se]);
}
calc(i);
}
for(int i=;i<=Q;i++) printf("%d\n",ans[i]&0x7fffffff);
return ;
}

最新文章

  1. Win10家庭版升级专业版密钥
  2. Div和Span标签显示与隐藏
  3. JavaScript实用技巧总结
  4. 如何在TFS的过程模板中添加报表
  5. C语言 链表的创建--打印--逆置--新增--删除--排序--释放
  6. HDU 2255 奔小康发大财
  7. random使用
  8. C#实现数字字符串左补齐0的3种方法
  9. Android开发中如何强制横屏和强制竖屏设置
  10. 4柱汉诺塔(zz)
  11. android85 短信防火墙
  12. hdu 4741 Save Labman No.004(2013杭州网络赛)
  13. Insecure default in Elasticsearch enables remote code execution
  14. 关于IP网段间互访的问题—路由是根本(转)
  15. iOS开发 socket, 全局socket
  16. Keepalive之nginx调度架构
  17. Linux:crontab组件部署linux定时任务
  18. 2小程序canvas使用,及一些坑,以及自己的一些小总结
  19. Lesson 1-1
  20. 遍历CheckBox根据指定条件做筛选js

热门文章

  1. Nginx: ubuntu系统上如何判断是否安装了Nginx?
  2. cocos2dx for lua 截屏功能
  3. 修改broadcom 4322无线网卡ID教程,不再显示第三方无线网卡
  4. NOIP模拟赛 魔方
  5. 有重复元素的排列(DFS)
  6. [BZOJ] 5415: [Noi2018]归程
  7. spdlog&amp;rapidjson 使用记录
  8. 分享几个能用的 editplus 注册码
  9. LeetCode(282) Peeking Iterator
  10. Linux学习-函式库管理