简单的要死。
2024-05-07 19:51:45
发布于:广东
#include<cmath>
#include<cstdio>
#include<algorithm>
#define fp(i,a,b) for(int i=a,I=b;i<=I;++i)
#define file(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout)
using namespace std;
const int N=1e6+5,E=2.2N;
typedef int arr[N];
struct eg{int nx,n,k,w;}e[E];
int n,m,k,M,ce,fi[E],p[2001],q[2001];arr is,pr,mu,Smu,f;
int g(int n,int k){
if(!n||(n<=M&&k==1))return Smu[n];
int x=(1LLn2017+k)%E;
for(int i=fi[x];i;i=e[i].nx)if(e[i].nn&&e[i].kk)return e[i].w;
e[++ce]=eg{fi[x],n,k,0};fi[x]=ce;int&w=e[ce].w;
if(k==1){
w=1;int i=2,j=sqrt(n),x;
for(;i<=j;++i)w-=g(n/i,1);
for(;i<=n;i=j+1)x=n/i,j=n/x,w-=(j-i+1)g(x,1);
}else w=g(n,q[k])+g(n/p[k],k);
return w;
}
int gcd(int a,int b){return!b?a:gcd(b,a%b);}
inline int Sf(int x){return x/kf[k]+f[x%k];}
int main(){
#ifndef ONLINE_JUDGE
file("s");
#endif
scanf("%d%d%d",&n,&m,&k);
M=min(N-5,min(n,m));Smu[1]=mu[1]=1;
fp(i,2,M){
if(!is[i])pr[++pr[0]]=i,mu[i]=-1;
for(int j=1,x;j<=pr[0]&&(x=ipr[j])<=M;++j){
is[x]=1;if(i%pr[j])mu[x]=-mu[i];else break;
}Smu[i]=Smu[i-1]+mu[i];
}
fp(i,1,k)f[i]=f[i-1]+(gcd(i,k)1);
fp(i,2,k){
for(int j=2;;++j)if(i%j0&&!is[j]){p[i]=j;break;}
for(q[i]=i;q[i]%p[i]==0;)q[i]/=p[i];
}
int i=1,j=sqrt(min(n,m)),x,y,s,t=0;long long w=0;
for(;i<=j;++i,t=s)s=g(i,k),w+=1ll*(n/i)Sf(m/i)(s-t);
for(;i<=min(n,m);i=j+1,t=s)x=n/i,y=m/i,j=min(n/x,m/y),
s=g(j,k),w+=1llxSf(y)*(s-t);
printf("%lld",w);
return 0;
}
全部评论 2
简单?我去,你个鸡毛s b
2025-04-19 来自 广东
0/code/judger/run/20250324/5032808937173287010/main.cpp:7:21: error: unable to find numeric literal operator 'operator""N'
7 | const int N=1e6+5,E=2.2N;
| ^~~~
/code/judger/run/20250324/5032808937173287010/main.cpp:7:21: note: use '-fext-numeric-literals' to enable more built-in suffixes
/code/judger/run/20250324/5032808937173287010/main.cpp:9:27: error: size of array 'e' is not an integral constant-expression
9 | struct eg{int nx,n,k,w;}e[E];
| ^
/code/judger/run/20250324/5032808937173287010/main.cpp:10:19: error: size of array 'fi' is not an integral constant-expression
10 | int n,m,k,M,ce,fi[E],p[2001],q[2001];arr is,pr,mu,Smu,f;
| ^
compilation terminated due to -fmax-errors=3.2025-03-24 来自 山西
0
有帮助,赞一个