150层了
1k回复
应该是:给我,开!!!!!!!!!!!
1 个赞
完了我王八没了
1 个赞
开!
安静了
包的
1 个赞
这个帖这么火稍微宣一下
咋杨戬一来,全被开了?
就怕空气突然安静~
1 个赞
打破宁静
我去吃个饭,看你们能水多少
为啥小黄就祭一下就跑了
1 个赞
小宣一下
很明显,很明显成了个梗
int getg(int x){
return x/K*g[K]+g[x%K];
}
void init(){
for(int i=1;i<=K;i++) g[i]=g[i-1]+(__gcd(i,K)==1);
m[1]=1;
for(int i=2;i<=N;i++){
if(vis[i]==0){
pr[++c]=i;
m[i]=-1;
}
for(int j=1;j<=c&&i*pr[j]<=N;j++){
vis[i*pr[j]]=1;
if(i%pr[j]==0) break;
m[i*pr[j]]=-m[i];
}
}
for(int i=1;i<=N;i++) s[i]=s[i-1]+m[i]*(getg(i)-getg(i-1));
}
int dfs_g(int x){
if(x<=N) return s[x];
if(s2[x]) return s2[x];
int res=0;
for(int l=2,r;l<=x;l=r+1){
r=x/(x/l);
res+=(getg(r)-getg(l-1))*dfs_g(x/l);
}
return s2[x]=1-res;
}
int slove(int x,int y){
int res=0;
for(int l=1,r;l<=min(x,y);l=r+1){
r=min(x/(x/l),y/(y/l));
res+=(x/l)*getg(y/l)*(dfs_g(r)-dfs_g(l-1));
}
return res;
}
int qpow(int x,int y){
int res=1;
while(y){
if(y&1) res=res*x%mod;
x=x*x%mod;
y>>=1;
}
return res;
}
int C(int x,int y){
if(y>x) return 0;
return fac[x]*inv[x-y]%mod*inv[y]%mod;
}
int A(int x,int y){
if(y>x) return 0;
return fac[x]*inv[x-y]%mod;
}
void init(){
fac[0]=_2n[0]=dp[0]=1;dp[1]=0;
for(int i=1;i<=5000000;i++) fac[i]=fac[i-1]*i%mod;
inv[5000000]=qpow(fac[5000000],mod-2);
for(int i=4999999;i>=0;i--) inv[i]=inv[i+1]*(i+1)%mod;
for(int i=1;i<=5000000;i++) _2n[i]=_2n[i-1]*2%mod;
for(int i=2;i<=5000000;i++) dp[i]=2*i*(2*i-2)%mod*(dp[i-1]+2*(i-1)*dp[i-2]%mod)%mod;
}
void print(int k){
cout<<C(n,k)*A(n,k)%mod*_2n[k]%mod*dp[n-k]%mod<<'\n';
}
这个很明显
这是啥