离散化
oi-wiki说的够好了
这里提供方法二可处理有重数据的写法(当然很傻QAQ
struct stu{
int v,id;
bool operator < (const stu a)const{return v<a.v}
}s[200010];
……
sort(s+1,s+n+1);
//到这里差不多
for(int i=1;i<=n;i++)a[s[i].id]=(s[i].v==s[i-1].v?i-x:i-(++x));
oi-wiki说的够好了
这里提供方法二可处理有重数据的写法(当然很傻QAQ
struct stu{
int v,id;
bool operator < (const stu a)const{return v<a.v}
}s[200010];
……
sort(s+1,s+n+1);
//到这里差不多
for(int i=1;i<=n;i++)a[s[i].id]=(s[i].v==s[i-1].v?i-x:i-(++x));