代码:
对a数组离散化
void Discretization(int *a,int n)
{
int b[n+2];
for(int i=1;i<=n;i++) b[i]=a[i];
sort(b+1,b+n+1);
int size=unique(b+1,b+n+1)-b-1;//size为离散化后元素个数
//cout<<"size="<<size<<endl;
for(int i=1;i<=n;i++)
a[i]=lower_bound(b+1,b+size+1,a[i])-b ;//k为b[i]经离散化后对应的值
}