50分WA的同学看过来

P4145 上帝造题的七分钟 2 / 花神游历各国

当然不需要啊。。才$10^{17}$
by SSerxhs @ 2019-04-13 23:38:04


@[kai586123](/space/show?uid=52068) %DKY
by Sirius_Judson @ 2019-05-07 16:24:22


为什么我swap了还是wa50啊? #include<bits/stdc++.h> using namespace std; const int maxn=100005; int c[maxn],sum[maxn],n,k,ks[maxn],f[maxn],L[maxn],R[maxn]; int read() { int x=0;char c=getchar(); while(c<'0'||c>'9')c=getchar(); while(c>='0'&&c<='9') { x=x*10+c-'0'; c=getchar(); } return x; } void update(int a,int b) { int l,r,i,j; if(ks[a]==ks[b]) { if(f[ks[a]])return; for(i=a;i<=b;i++) { sum[ks[a]]-=c[i]; c[i]=sqrt(c[i]); sum[ks[a]]+=c[i]; } if(sum[ks[a]]==R[ks[a]]-L[ks[a]]+1)f[ks[a]]=1; return; } l=a;r=R[ks[a]]; for(i=l;i<=r;i++) { sum[ks[a]]-=c[i]; c[i]=sqrt(c[i]); sum[ks[a]]+=c[i]; } if(sum[ks[a]]<=R[ks[a]]-L[ks[a]]+1)f[ks[a]]=1; l=L[ks[b]];r=b; for(i=l;i<=r;i++) { sum[ks[b]]-=c[i]; c[i]=sqrt(c[i]); sum[ks[b]]+=c[i]; } if(sum[ks[b]]<=R[ks[b]]-L[ks[b]]+1)f[ks[b]]=1; l=ks[a]+1;r=ks[b]-1; for(i=l;i<=r;i++) { if(f[i]==1)continue; for(j=L[i];j<=R[i];j++) { sum[i]-=c[j]; c[j]=sqrt(c[j]); sum[i]+=c[j]; } if(sum[i]<=R[i]-L[i]+1)f[i]=1; } } int query(int a,int b) { int ans=0,i,l,r; if(ks[a]==ks[b]) { for(i=a;i<=b;i++) ans+=c[i]; } else { l=a;r=R[ks[a]]; for(i=l;i<=r;i++) ans+=c[i]; // cout<<ans<<endl; l=L[ks[b]];r=b; for(i=l;i<=r;i++) ans+=c[i]; // cout<<ans<<endl; for(i=ks[a]+1;i<=ks[b]-1;i++) ans+=sum[i]; } return ans; } int main() { int i,j,m,x,y,z; n=read();k=qsqrt(n); for(i=1;i<=n;i++) c[i]=read(); for(i=1;i<=n;i++) { ks[i]=(i-1)/k+1; if(L[ks[i]]==0)L[ks[i]]=i; R[ks[i]]=i; sum[ks[i]]+=c[i]; } m=read(); while(m--) { x=read();y=read();z=read(); if(y>z)swap(y,z); if(x==0) { update(y,z); } if(x==1) { cout<<query(y,z)<<endl; } // for(i=1;i<=n;i++) // cout<<c[i]<<" "; // cout<<endl; // for(i=1;i<=n;i++) // cout<<i<<" "<<ks[i]<<" "<<f[ks[i]]<<" "<<sum[ks[i]]<<endl; // cout<<endl; } } 求各位神佬帮忙看看
by Masky @ 2019-05-17 09:34:10


把swap注释掉了调试没改回来...
by lsy263 @ 2019-07-04 00:20:48


加完全WA才发现写了``if(y>x)swap();``...
by lsy263 @ 2019-07-04 00:23:47


好吧还是50,**要加longlong**
by lsy263 @ 2019-07-04 00:25:37


$orz!!!$ $窝加了swap真过了qwq$
by formkiller @ 2019-10-30 20:35:52


|