蒟蒻vector平衡树写法40分求助
查看原帖
蒟蒻vector平衡树写法40分求助
715233
Dino_chx楼主2022/10/7 19:22

Please Help Me

stO Orz

#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> v;
void ins(int x)
{
v.insert(upper_bound(v.begin(),v.end(),x),x);
return;
} 
void del(int x)
{
v.erase(lower_bound(v.begin(),v.end(),x));
return;
}
int number(int x)
{
return lower_bound(v.begin(),v.end(),x)-v.begin()+1;
}
int kth(int k)
{
return v[k-1];
}
int pre(int x)
{
return *--lower_bound(v.begin(),v.end(),x); 
}
int next(int x)
{
return *upper_bound(v.begin(),v.end(),x);
}
int main()
{
int T;
scanf("%d",&T);
int opt,x;
while(T--)
{
scanf("%d%d",&opt,&x);
if(opt==1)
printf("%d\n",number(x));
if(opt==2)
printf("%d\n",kth(x));
if(opt==3)
printf("%d\n",pre(x));
if(opt==4)
printf("%d\n",next(x));
if(opt==5)
ins(x);
}
return 0;
}
2022/10/7 19:22
加载中...