首页 > 其他 > 详细

离散化模板

时间:2020-08-30 16:17:02      阅读:55      评论:0      收藏:0      [点我收藏+]

作用

通过离散化可以将一组数(可以是二维)只保留相互之间的大小关系,便于一些数据结构的使用。

Code

//现要将一组数列a[1,2,...,n]离散化 O(nlogn)
for(int i=1;i<=n;i++) b[i]=a[i];
sort(a+1,a+1+n);
int len=unique(a+1,a+1+n)-a-1;//unique去重并得到去重后数字数目
for(int i=1;i<=n;i++) 
    b[i]=lower_bound(a+1,a+1+len,b[i])-a;//lower_bound找第一个小于等于的数字并返回地址,-a即返回下标
//此时b[]为离散化数组

PS:这个就是忘了的时候来看看(这都能忘QAQ)

离散化模板

原文:https://www.cnblogs.com/zuiyumeng/p/13585467.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!