码迷,mamicode.com
首页 > 其他好文 > 详细

离散化板子

时间:2019-10-05 10:19:45      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:查找   sort   数组   局限性   lower   read   uid   方法   注意   

方法一:排序,去重,二分查找。

For(i,1,n)a[i]=b[i]=read();
sort(a+1,a+n+1);
m=unique(a+1,a+n+1)-a-1;
For(i,1,n)b[i]=lower_bound(a+1,a+m+1,b[i])-a;

注意事项:去重并不是把数组中的元素删去,而是重复的部分元素在数组末尾。


方法二:记录,排序,枚举放回。

For(i,1,n)a[i].num=read(),a[i].uid=i;
sort(a+1,a+n+1,cmp);
For(i,1,n)b[a[i].uid]=i;

注意事项:相同的数排名不同,存在局限性。

离散化板子

标签:查找   sort   数组   局限性   lower   read   uid   方法   注意   

原文地址:https://www.cnblogs.com/May-2nd/p/11610268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!