社区讨论
莫反 WA 20 分求助
P3455[POI 2007] ZAP-Queries参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo2v4bvk
- 此快照首次捕获于
- 2023/10/23 20:17 2 年前
- 此快照最后确认于
- 2023/10/23 20:17 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL N=5e4+10;
LL prime[N],tot,mu[N],s[N];
bool v[N];
LL n,m,d,p,q,g,ans;
signed main() {
s[1]=mu[1]=1;
for(LL i=2; i<N; i++) {
if(!v[i]) {prime[++tot]=i; mu[i]=-1;}
s[i]=s[i-1]+mu[i];
for(LL j=1; j<=tot&&i*prime[j]<N; j++) {
v[i*prime[j]]=1;
if(i%prime[j]==0) break;
mu[i*prime[j]]=-mu[i];
}
}
scanf("%lld",&g);
for(; g; g--) {
ans=0;
scanf("%lld%lld%lld",&n,&m,&d);
p=n/d; q=m/d;
if(p>q) swap(p,q);
for(LL l=1,r; l<=p; l=r+1) {
r=p/(p/l);
ans+=(s[r]-s[l-1])*(p/l)*(q/l);
}
printf("%lld\n",ans);
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...