int a[N],b[N],n; // a=b sort(a+1,a+n+1); int len=unique(a+1,a+n+1)-a-1; for(int i=1; i<=n; i++) b[i]=lower_bound(a+1,a+len+1,b[i])-a;
排序+去重解决值域过大问题,用处很广。