首页 > 代码库 > 离散化模板
离散化模板
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 using namespace std; 5 const int maxn=100000; 6 int a[maxn]; 7 int b[maxn]; 8 int n; 9 int main() 10 { 11 int m=0; 12 cin>>n;//元素个数 13 for(int i=1;i<=n;++i) 14 { 15 scanf("%d",&a[i]); 16 b[++m]=a[i];//b[]作为离散化的数组 17 } 18 sort(b+1,b+1+m);//将b数组排序,因为是从b[1]开始存储的,所以要b+1 19 m=unique(b+1,b+1+m)-b-1;//去重操作,返回不同元素的个数 20 for(int i=1;i<=n;++i) 21 cout<<lower_bound(b+1,b+1+m,a[i])-b<<" "; 22 // while(1); 23 return 0; 24 }
转自http://blog.csdn.net/Cirspring/article/details/51836776
离散化模板
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。