萌新刚学Hello World求助

P3307 [SDOI2013] 项链

~~我看您的代码里没有HelloWorld,加上应该就可以~~
by wxwoo @ 2019-05-16 22:10:40


刚学HelloWorld就爆切黑题 awsl
by pjykk @ 2019-05-16 22:18:09


在你谷,你甚至可以做$Hello World$
by willbe233 @ 2019-05-16 22:19:26


欸洛谷没有HelloWorld啊(逃
by pjykk @ 2019-05-16 22:21:15


~~去你的萌新~~
by Mitch谜团 @ 2019-05-17 07:12:02


改好了。这样就可以输出 Hello World 了 ```cpp #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace std; typedef long long int ll; typedef unsigned long long int ull; const int maxa=1e6+5; const ll xdui=1000000007; const ll ny6=166666668,ny6sq=833333345000000041ll; ll xrj,curny6; ll zzcnt(ll n){ return (n*(n-1)%xdui*(n-2)%xdui*curny6%xdui+n*(n-1)%xdui+n%xdui)%xdui;} char primp[maxa],meow[maxa];int fai[maxa]; ll ksm(ll d,ll z,ll xrj){ ll ans=1;while(z){ if(z&1)ans=ans*d%xrj; z>>=1;d=d*d%xrj;} return ans;} ll n,a,k,o; ull ksc(ull x,ull y){ return(x*y-(ull)((long double)x/xrj*y)*xrj+xrj)%xrj; } ll f(ll x){ return(ksm(k-1,x,xdui)+(x%2?xdui-1:1)*(k-1)%xdui+xdui)%xdui; } ll gphi(ll x,int start=2){ if(x<=1000000)return fai[x]%xdui; for(ll i=start;i*i<=x;i++)if(x%i==0){ x/=i; ll mult=i-1; while(x%i==0)x/=i,mult*=i; return gphi(x)*mult%xdui; } assert(false);} int main(){ cout << "Hello World" << endl; exit(0); rep(i,1,1000000)primp[i]=i>1,meow[i]=1,fai[i]=i; rep(i,2,1000000)if(primp[i]){ fai[i]-=meow[i]=-1; for(int j=i<<1;j<=1000000;j+=i){ primp[j]=0; meow[j]*=j/i%i?-1:0; //cout<<j<<"#"<<fai[j]<<endl; fai[j]=fai[j]/i*(i-1); //cout<<j<<"##"<<fai[j]<<endl; } } //rep(i,1,100)cout<<(int)primp[i]<<" ";;cout<<endl; //rep(i,1,100)cout<<(int)meow[i]<<" ";;cout<<endl; //rep(i,1,100)cout<<fai[i]<<" ";;cout<<endl; int t;cin>>t; rep(_,1,t){ scanf("%lld%lld",&n,&a); k=0; rep(i,1,a)if(a%i==0)(k+=zzcnt(i)*(meow[n/i]+xdui)%xdui)%=xdui; //cout<<"$"<<k<<endl; ll ans=0;o=n%xdui?0:1; xrj=xdui; if(o)xrj*=xrj; curny6=o?ny6:ny6sq; //rep(i,1,n)cout<<f(i)<<"$$";;cout<<endl; for(int i=1;i*i<=n;i++){ ans+=gphi(n/i)*f(i)%xrj; if(i*i<n)ans+=gphi(i)*f(n/i)%xrj; ans%=xrj;} if(o)ans=ans/xdui*ksm(n/xdui,xdui-2,xdui)%xdui; else ans=ans*ksm(n%xdui,xdui-2,xdui)%xdui; printf("%lld\n",ans); } return 0;} ```
by jyi2ya @ 2019-05-17 22:00:53


|