F.A.Qs Home ProblemSet Status Ranklist Contest LoginRegister
Notice:1:注册本OJ方式请见https://www.lydsy.com/JudgeOnline/wttl/thread.php?tid=5671 2:请不要在讨论区中发空白主题帖。
大视野在线测评-欢迎您
[ New Thread ]
Problem 4939 >> 求助,为什么会CE
zzpcd @ 2018-12-25 23:54:39
[ Quote ] [ Edit ] [ Delete ] 1#
把注释的那三行注释掉就不会CE了
本机和其他OJ上编译均能通过
已经CE了2页了。。。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<map>
#include<bitset>
#include<cmath>
#include<queue>
#include<cstdlib>
using namespace std;
const int C=40000;
int Min(int a,int b){return a<b?a:b;}
int Max(int a,int b){return a>b?a:b;}
inline int read()
{
int x=0,f=1;char c=getchar();
while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9'){x=(x<<3)+(x<<1)+c-'0';c=getchar();}
return x*f;
}
struct question{
int id,l,r;
}g[300005];
map<int, int> ssss;
int n,m,a[100005],num[100005],tot,ss,Num[100005],AAns[100005];
bitset<100005> ans[C+5],o;
bool cmp(question x,question y)
{
int u=x.l/ss,t=y.l/ss;
return u==t?u&1?x.r<y.r:x.r>y.r:u<t;
}
void deladd(int yy)
{
o[yy]=o[yy]^1;
}
int main()
{
n=read();m=read();
ss=(int)floor(sqrt(n));
for(int i=1;i<=n;i++) a[i]=read(),num[i]=a[i];
//sort(num+1,num+1+n);
int len=unique(num+1,num+1+n)-num;
//for(int i=1;i<=len;i++) ssss.insert(make_pair(num[i],i));
//for(int i=1;i<=n;i++) a[i]=ssss[a[i]];
memset(num,0,sizeof(num));
for(int i=1;i<=n;i++) num[a[i]]++;
for(int i=2;i<=len;i++) num[i]+=num[i-1];
for(int ll=1;;ll++)
{
m--;
for(int i=1;i<=3;i++) g[++tot].id=ll,g[tot].l=read(),g[tot].r=read(),AAns[ll]+=g[tot].r-g[tot].l+1;
if(ll>=C||m==0)
{
sort(g+1,g+1+tot,cmp);
for(int i=1;i<=ll;i++) ans[i].set();
o.reset();
memset(Num,0,sizeof(Num));
for(int i=1,L=1,R=0;i<=tot;i++)
{
int LL=g[i].l,RR=g[i].r;
for(;L>LL;L--) deladd(++Num[a[L-1]]+num[a[L-1]-1]);
for(;R<RR;R++) deladd(++Num[a[R+1]]+num[a[R+1]-1]);
for(;L<LL;L++) deladd(num[a[L]-1]+Num[a[L]]--);
for(;R>RR;R--) deladd(num[a[R]-1]+Num[a[R]]--);
ans[g[i].id]&=o;
}
for(int i=1;i<=ll;i++) printf("%d\n",AAns[i]-ans[i].count()*3);tot=0;ll=0;
memset(AAns,0,sizeof AAns);
}
if(!m) return 0;
}
}
[Top] [Previous Page] [Next Page]

HOME Back