标签:cst 今天 turn span stream blog 速度 namespace 大神
今天刷内网的题,一道题要用离散,于是我就用了常用的map去搞
但是A了之后发现,我的速度竟然在rank list垫底T-T
然后xyz大神告诉我map离散慢的要死,于是我就再去学习一下主流的(也可能是非主流)离散打法
需要用STL中的vector(也可以不用),unique去重,lower_bound查找
#include<iostream>
#include<vector>
#include<cstdio>
#include<algorithm>
using namespace std;
#define pos(i,a,b) for(int i=(a);i<=(b);i++)
#define N 100
int n,b[N];
vector<int> a;
int my_find(int x){
return lower_bound(a.begin(),a.end(),x)-a.begin()+1;//找到x是第几个
}
int main(){
cin>>n;
pos(i,1,n){
cin>>b[i];a.push_back(b[i]);
}
sort(a.begin(),a.end());//排序
a.erase(unique(a.begin(),a.end()),a.end());//去重之后从vector中清除
pos(i,1,n){
cout<<my_find(b[i])<<" ";
}
return 0;
}
标签:cst 今天 turn span stream blog 速度 namespace 大神
原文地址:http://www.cnblogs.com/Hallmeow/p/7586822.html