照着日报打模板为什么超时呢

P3369 【模板】普通平衡树

日报的 ```cpp #include<bits/stdc++.h> #define maxn (100000+500) #define inf 2000000005 using namespace std; int sum=0,R=0; int size[maxn],v[maxn],num[maxn],rd[maxn],son[maxn][2]; void pushup(int p) { size[p]=size[son[p][0]]+size[son[p][1]]+num[p]; } void rotate(int &p,int d) { int k=son[p][d^1]; son[p][d^1]=son[k][d]; son[k][d]=p; pushup(p); pushup(k); p=k;//需要换一个根 } void ins(int &p,int x) { if (!p) { p=++sum; size[p]=num[p]=1; v[p]=x; rd[p]=rand(); return; } if (v[p]==x) { num[p]++; size[p]++; return; } int d=(x>v[p]); ins(son[p][d],x); if (rd[p]<rd[son[p][d]]) rotate(p,d^1); pushup(p); } void del(int &p,int x) { if (!p) return; if (x<v[p]) del(son[p][0],x); else if (x>v[p]) del(son[p][1],x); else { if (!son[p][0] && !son[p][1]) { num[p]--; size[p]--; if (num[p]==0) p=0; } else if (son[p][0] && !son[p][1]) { rotate(p,1); del(son[p][1],x); } else if (!son[p][0] && son[p][1]) { rotate(p,0); del(son[p][0],x); } else if (son[p][0] && son[p][1]) { int d=(rd[son[p][0]]>rd[son[p][1]]);//??? rotate(p,d); del(son[p][d],x); } } pushup(p); } int rank(int p,int x) { if (!p) return 0; if (v[p]==x) return size[son[p][0]]+1; if (v[p]<x) return size[son[p][0]]+num[p]+rank(son[p][1],x); if (v[p]>x) return rank(son[p][0],x); } int find(int p,int x) { if (!p) return 0; if (size[son[p][0]]>=x) return find(son[p][0],x); else if (size[son[p][0]]+num[p]<x) return find(son[p][1],x-num[p]-size[son[p][0]]); else return v[p]; } int pre(int p,int x) { if (!p) return -inf; if (v[p]>=x) return pre(son[p][0],x); else return max(v[p],pre(son[p][1],x)); } int suc(int p,int x) { if (!p) return inf; if (v[p]<=x) return suc(son[p][1],x); else return min(v[p],suc(son[p][0],x)); } int main() { int n; scanf("%d",&n); for (int i=0;i<n;++i) { int opt,x; scanf("%d%d",&opt,&x); if (opt==1) ins(R,x); else if (opt==2) del(R,x); else if (opt==3) printf("%d\n",rank(R,x)); else if (opt==4) printf("%d\n",find(R,x)); else if (opt==5) printf("%d\n",pre(R,x)); else if (opt==6) printf("%d\n",suc(R,x)); } return 0; } ```
by 泠潼 @ 2019-05-21 13:14:08


完 全 一 致 但我T了一个点。。。
by 泠潼 @ 2019-05-21 13:14:48


@[泠潼](/space/show?uid=142399) 百度——常数优化,读入优化,输出优化啥的
by 御·Dragon @ 2019-05-21 13:26:15


@[封禁用户名f8617dda](/space/show?uid=37682) 可是日报里也没有用这些优化,日报里的代码也a了鸭qwq 我想应该不是这方面的问题吧
by 泠潼 @ 2019-05-21 13:27:25


发日报的人rp比较高
by xcxcli @ 2019-05-21 13:29:32


@[泠潼](/space/show?uid=142399) 试试看吧
by 御·Dragon @ 2019-05-21 13:29:56


@[封禁用户名f8617dda](/space/show?uid=37682) 谢谢您,问题已解决
by 泠潼 @ 2019-05-21 13:52:48


这就A了???
by Oakenshield @ 2019-05-21 16:06:24


|