离散化
时间:2021-02-06 12:13:59
收藏:0
阅读:0
1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<algorithm> 5 using namespace std; 6 7 int n,tot,a[1010],c[1010]; 8 9 int main(){ 10 cin>>n; 11 for(int i=1;i<=n;i++) cin>>a[i]; 12 for(int i=1;i<=n;i++) c[i]=a[i]; 13 sort(c+1,c+n+1); 14 tot=unique(c+1,c+n+1)-(c+1); 15 for(int i=1;i<=n;i++) a[i]=lower_bound(c+1,c+tot+1,a[i])-c; 16 for(int i=1;i<=n;i++) cout<<a[i]<<" "; 17 cout<<endl; 18 return 0; 19 }
通过sort,unique,lower_bound实现,目的是在保证数据相对大小不变的条件下缩小数据(映射)。
评论(0)