首页 > 代码库 > 【不可能的问题23/200】bzoj1503郁闷的出(cheng)纳(xu)员
【不可能的问题23/200】bzoj1503郁闷的出(cheng)纳(xu)员
好痛苦,,,WA了不知道多少遍
错的服了,,,
如果某员工的初始工资低于工资下界,他将立刻离开公司
我也不知道是我语文有问题还是题目有毒,反正这个东西好像不应该算在离开公司的总人数的答案里。。。
让我一个人静静。。。。
1 #include <cstdio> 2 using namespace std; 3 int son[110001][2],father[110001],size[110001],val[110001],cnt[110001],n,i,now,min,x,y,rt,top,ans,m; 4 char ch[100]; 5 void newnode(int &x,int fa,int data){ 6 x=++top; 7 father[x]=fa; 8 val[x]=data; 9 size[top]=1;10 son[x][0]=son[x][1]=0;11 }12 void rot(int x,int k){13 int y=father[x];14 son[y][!k]=son[x][k];15 father[son[x][k]]=y;16 father[x]=father[y];17 son[father[y]][son[father[y]][1]==y]=x;18 son[x][k]=y;19 father[y]=x;20 size[x]=size[y];21 size[y]=size[son[y][0]]+size[son[y][1]]+1;22 }23 void rots(int x,int g){24 while((y=father[x])!=g){25 if(father[father[x]]==g) rot(x,son[father[x]][0] == x);26 else27 {28 int y=father[x],z=father[y],f=(son[z][0]==y);29 if(son[y][f]==x)rot(x,!f);else rot(y,f);30 rot(x,f);31 }32 }33 if(!g) rt=x;34 }35 void ins(int a){36 int x=rt;37 if (!rt){38 rt=++top;val[rt]=a;39 son[rt][0]=son[rt][1]=0;40 size[rt]=1;41 }42 else{43 while(son[x][val[x]<a]) {size[x]++;x=son[x][val[x]<a];}44 size[x]++;45 newnode(son[x][val[x]<a],x,a);46 rots(son[x][val[x]<a],0);47 }48 }49 void del(int a,int x,int fa){50 if (!x)return;51 if (val[x]<a){52 if (x==rt) rt=son[x][1];53 father[son[x][1]]=fa;54 son[fa][x==son[fa][1]]=son[x][1];55 del(a,son[x][1],fa);56 now+=size[son[x][0]]+1;ans+=size[son[x][0]]+1;57 }else {del(a,son[x][0],x);}58 size[x]=size[x]-now;59 }60 int find(int k,int x){61 if(k<=size[son[x][0]])return find(k,son[x][0]);62 if(k==size[son[x][0]]+1)return val[x]-min+m;63 return find(k-size[son[x][0]]-1,son[x][1]);64 }65 int main(){66 scanf("%d%d",&n,&m);67 for (i=1;i<=n;i++){68 scanf("%s%d",&ch,&x);69 if (ch[0]==‘I‘)if (x>=m)ins(x-m+min);70 if (ch[0]==‘A‘)min-=x;71 if (ch[0]==‘S‘){min+=x;now=0;del(min,rt,0);}72 if (ch[0]==‘F‘)if (x>size[rt]) printf("-1\n");else printf("%d\n",find(size[rt]-x+1,rt));73 }74 printf("%d\n",ans);75 }
被卡题意的感觉爽翻了。。。
【不可能的问题23/200】bzoj1503郁闷的出(cheng)纳(xu)员
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。