/ Vijos / 题库 /

序列的离散化

序列的离散化

时间限制:1秒  内存限制:256M


【题目描述】

  对于一个数据元素很大的序列:\(A_1,A_2,…,A_n\),我们在处理这个序列时,往往只会关心序列中元素的大小关系。这时候为了处理方便,可把序列映射为 \(1\sim n\)范围内的数,其中最小的元素映射为 1,第 2 小的数映射为2,……。例如:

  原 序 列:19827345 2000000053 73925 98203456 73925 19827345
  映射序列:  2     4    1    3    1   2

  由此可以看出,映射序列于原序列元素间的大小关系是等价的,在这里我们把“映射序列”又称为“名次序列”。

  所以,离散序列实质就是原序列每个元素用它的名次代替(相同的元素名次相同),离散化就是要得到序列的名次数组。

【输入格式】

  第 1 行,为整数 \(n\) ,表示序列有 \(n\) 个实数。
  第 2 行包含 \(n\) 个实数,表示序列:\(A_1\sim A_n\)。

【输出格式】

  包含 \(n\) 个整数,与原序列等价的名次序列。

【输入输出样例】

 Input

6
10.5 8.1 9.22 3.33 6.23 8.1

 Output

5 3 4 1 2 3 

【数据限制】

  对于 \(100\%\) 的数据,\(1≤n≤100000\),A[i]在double范围内。

【来源】

  Mr.he

信息

ID
1804
难度
(无)
分类
其他 | 排序 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
9
上传者