标签: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