数据离散化
来源:互联网 发布:甘地 印度独立 知乎 编辑:程序博客网 时间:2024/06/06 00:44
有些数据本身很大, 自身无法作为数组的下标保存对应的属性。
如果这时只是需要这堆数据的相对属性, 那么可以对其进行离散化处理!
离散化:当数据只与它们之间的相对大小有关,而与具体是多少无关时,可以进行离散化。
例如
9 1 0 5 4 与 5 2 1 4 3 的逆序对个数相同。
设有4个数:
1234567、123456789、12345678、123456
排序:123456<1234567<12345678<123456789
=> 1 < 2 < 3 < 4
那么这4个数可以表示成:2、4、3、1
使用STL算法离散化:
思路:先排序,再删除重复元素,然后就是索引元素离散化后对应的值。
假定待离散化的序列为a[n],b[n]是序列a[n]的一个副本,则对应以上三步为:
sort(sub_a,sub_a+n);int size=unique(sub_a,sub_a+n)-sub_a;//size为离散化后元素个数for(i=0;i<n;i++)a[i]=lower_bound(sub_a,sub_a+size,a[i])-sub_a + 1;//k为b[i]经离散化后对应的值对于第3步,若离散化后序列为0, 1, 2, ..., size - 1则用lower_bound,从1, 2, 3, ..., size则用upper_bound,其中lower_bound返回第1个不小于b[i]的值的指针,而upper_bound返回第1个大于b[i]的值的指针,当然在这个题中也可以用lower_bound然后再加1得到与upper_bound相同结果,两者都是针对以排好序列。使用STL离散化大大减少了代码量且结构相当清晰。
练习一道提的时候,数据比较大,总过不了,后来了解得需要用离散化,对视抛弃没有用到数据只存取有用的数据,
并且用简单好记的东西去存储,例如:
有些数据本身很大, 自身无法作为数组的下标保存对应的属性。
如果这时只是需要这堆数据的相对属性, 那么可以对其进行离散化处理!
离散化:当数据只与它们之间的相对大小有关,而与具体是多少无关时,可以进行离散化。
例如
9 1 0 5 4 与 5 2 1 4 3 的逆序对个数相同。
设有4个数:
1234567、123456789、12345678、123456
排序:123456<1234567<12345678<123456789
=> 1 < 2 < 3 < 4
那么这4个数可以表示成:2、4、3、1使用STL算法离散化:
思路:先排序,再删除重复元素,然后就是索引元素离散化后对应的值。
假定待离散化的序列为a[n],b[n]是序列a[n]的一个副本,则对应以上三步为:sort(sub_a,sub_a+n);int size=unique(sub_a,sub_a+n)-sub_a;//size为离散化后元素个数for(i=0;i<n;i++)a[i]=lower_bound(sub_a,sub_a+size,a[i])-sub_a + 1;//k为b[i]经离散化后对应的值对于第3步,若离散化后序列为0, 1, 2, ..., size - 1则用lower_bound,从1, 2, 3, ..., size则用upper_bound,其中lower_bound返回第1个不小于b[i]的值的指针,而upper_bound返回第1个大于b[i]的值的指针,当然在这个题中也可以用lower_bound然后再加1得到与upper_bound相同结果,两者都是针对以排好序列。使用STL离散化大大减少了代码量且结构相当清晰。
0 0
- 数据的离散化
- 数据的离散化
- 数据的离散化
- 数据的离散化
- 数据离散化杂谈
- 数据离散化
- 数据离散化
- 数据的离散化
- 数据离散化
- 数据的离散化
- 数据的离散化
- 数据离散化
- 数据离散化
- 【学习】数据离散化
- 数据离散化
- 数据离散化
- 数据的离散化
- 浅谈数据离散化
- 第一行代码Android技巧1——知晓当前是在哪一个活动
- 171. Excel Sheet Column Number
- shell脚本(二)
- Tinychatserver- 一个简易的命令行群聊程序
- Java复习之对象一对多关系与对象多对一关系
- 数据离散化
- Android 常用权限解读
- poj-3259-Wormholes
- sass使用
- Android Handler消息机制源码分析——第一部分:Looper与MessageQueue
- Cogs 2221. [SDOI2016 Round1] 数字配对(二分图)
- 框架类总结
- 168. Excel Sheet Column Title
- 双目标定之Matlab 2015工具箱标定步骤