请求撤下题解

P1903 [国家集训队] 数颜色 / 维护队列

然后顺带求调。 ```cpp #include <stdio.h> #include <cmath> #include <algorithm> using namespace std; const int N=133335; int block,res,n,m,i; int l=1,r=0,t=0,cnt,len,x,y; int ret[N]; class update { public: int pos,nxt,pre; }chg[N]; class query { public: int l,r,tim,id; int lpos,rpos; query() { } query(int ll,int rr,int timm,int idd):l(ll),r(rr),tim(timm),id(idd),lpos(ll/block),rpos(rr/block) { } inline const bool operator<(const query &other)const { if(lpos!=other.lpos) return lpos<other.lpos; else if(rpos!=other.rpos) return rpos<other.rpos; else return tim<other.tim; } }mid,q[N]; int v[N]; int p[N]; inline void add(int x) { res+=!(p[v[x]]++); return ; } inline void del(int x) { res-=!(--p[v[x]]); return ; } inline void tsolve(int x,int l,int r) { if(l<=chg[x].pos&&chg[x].pos<=r) { if(--p[v[chg[x].pos]]==0) --res; if(++p[chg[x].nxt]==1) ++res; } swap(chg[x].pre,v[chg[x].pos]); return ; } int main() { char opt; scanf("%d %d",&n,&m); block=pow(n,1./3); for(i=1;i<=n;++i) scanf("%d",v+i); for(i=1;i<=m;++i) { scanf(" %c %d %d",&opt,&x,&y); if(opt=='R') { ++cnt; chg[cnt].pos=x; chg[cnt].nxt=y; chg[cnt].pre=v[x]; v[chg[cnt].pos]=chg[cnt].nxt; }else { // printf("%d %d %d %d\n",x,y,cnt,len); mid=query(x,y,cnt,len+1); q[++len]=mid; } } // for(i=1;i<=len;++i) // { // printf("%d %d %d\n",q[i].l,q[i].r,q[i].tim); // } for(i=cnt;i>=1;--i) { // printf("%d %d %d\n",chg[i].pos,chg[i].pre,chg[i].nxt); v[chg[i].pos]=chg[i].pre; } sort(q+1,q+len+1); for(i=1;i<=len;++i) { while(q[i].r>r) add(++r); while(q[i].l<l) add(--l); while(q[i].r<r) del(r--); while(q[i].l>l) del(l++); while(q[i].tim>t) tsolve(++t,q[i].l,q[i].r); while(q[i].tim<t) tsolve(t--,q[i].l,q[i].r); ret[q[i].id]=res; // printf("%d : %d %d %d %d %d %d %d\n",i,q[i].id,t,l,r,q[i].l,q[i].r,res); } for(i=1;i<=len;++i) printf("%d\n",ret[i]); } ``` 目前没分
by Etinorally @ 2023-01-09 18:23:25


五角星好强,拜谢五角星
by Mikefeng @ 2023-01-09 18:33:12


变态啊,为什么把数组再开大十倍就过了
by Etinorally @ 2023-01-09 18:35:57


@[bye_wjx](/user/575994) 因为颜色的值域是1e6
by Mikefeng @ 2023-01-09 18:48:59


@[Mikefeng](/user/406832) 好的,thx
by Etinorally @ 2023-01-09 19:01:00


|