离散化数组接口
2018-03-03 17:14
141 查看
a[] = 原数组
g[i] = 排名ii的位置
u[i] = 排在ii的新位置
r[i] = ii的新位置
g[i] = 排名ii的位置
int cmp(const int& i, const int& j) { return a[i] < a[j]; } ... { for(int i = 0; i < n; i++) g[i] = i; sort(g, g+n, cmp); }
u[i] = 排在ii的新位置
int un = 0; u[0] = un++; for(int i = 1; i < n; i++) if(a[g[i]] == a[g[i-1]]) u[i] = un; else u[i] = un++;
r[i] = ii的新位置
for(int i = 0; i < n; i++) r[g[i]] = u[i];
相关文章推荐
- C#接口类型数组
- 利用JAVA Comparator接口实现数组排序
- 树状数组离散化求逆序数
- HDU 5792 L - World is Exploding 。容斥原理 + 树状数组 + 离散化
- CodeForces-540E Infinite Inversions(树状数组+离散化+加点)
- hdu 4325 Flowers (树状数组+离散化)
- 【Poj】-2299-Ultra-QuickSort(树状数组,离散化, 好)
- POJ 3261 Milk Patterns(后缀数组+二分答案+离散化)
- POJ 3261 Milk Patterns(后缀数组+二分答案+离散化)
- 接口与抽象类 数组
- WCF接口中数组的应用
- 数组、多态、接口 简单体现
- Poj 2299 - Ultra-QuickSort 离散化,树状数组,逆序对
- RandomAccess接口可以判断List对象是否支持快速随机访问(数组的get(i)访问)
- HDU 3743 (树状数组,离散化)
- 地C#基础(八)数组与接口
- hdu 4605(树状数组+离散化)
- poj-2299-Ultra-QuickSort-(树状数组and离散化)
- HDU 4325 Flowers(树状数组+离散化)
- CDOJ 数据结构训练H 树状数组离散化