C++实用技巧——离散化( 五 )
.v;
a[i
.id=i;
sort(a+1a+n+1);
for(int i=1;i<=n;i++)
rank[a[i
.id
=i;
这种方法复杂度比上面那一种要优 , 但不能处理重复元素 。 它直接用结构体存储原本的数列的元素的位置 , 然后排序以后将他们再重新赋值 。 那么rank[
就是结构体a[
离散化后的结果 。
v: 3 6 5 10 8
id : 1 2 3 4 5
排序以后:
v: 3 5 6 8 10
id: 1 3 2 5 4
所以离散化以后:
v: 3 5 6 8 10
id: 1 3 2 5 4
rk: 1 2 3 4 5
推荐阅读
- 烟雾弹|和平精英:八大烟雾弹超强实用技巧,KS阿神教你轻松上分
- 卡牌|皇室战争:掌握以下4条实用技巧,上分会更加轻松,很多人都在用
- 我的世界|我的世界:雷霆之杖、船卡透视、床链漏洞,基岩mc的11个实用技巧
- 野猪|皇室战争:野猪骑士还可以解骷髅海?分享5个对战实用技巧
- 超实用!三个隐藏的iOS 13实用技巧分享
- 特斯拉嫌弃 Python,追捧 C++
- 编程学习之亲密数(C++描述)
- 本科学完C语言、C++、python(学透点),还有必要学别的语言吗?
- 提升玩机体验!华为手机超实用技巧分享
- C/C++编程笔记:游戏开发中的噪声算法详解,游戏编程常用技术