离散化
来源:互联网 发布:org.apache.tiles 编辑:程序博客网 时间:2024/04/29 13:19
原来一直不懂的东西呢…
后来发现也没什么,只要是专心去学习是可以搞明白的
百度百科的解释非常全面
离散化是将无限空间中有限的个体映射到有限的空间中去
具体来说就是,你需要一堆数据的相对大小,而不是绝对大小,就可以用离散化,把数据范围很大,但是数据数量很少的几个数放到一个小数组里,并且是一种映射关系
形象点,就是一个范围很大很大的数组里只有几个数,那剩下那些没有写入数据的内存不都浪费掉了吗?
这时候用离散化处理出那几个数,放到一个小数组里,就可以省时间省空间
实现
用两个元素的结构体,保存数值val和读入的次序order
读完啦之后,依据val进行排序,由于用结构体保存了order,排序后val和order依然一一对应
struct Node{int val, int order;}node[maxn];
这时候开一个for循环和一个r数组,从1到n循环这些数字,把for循环次序赋值给这些val原来的位置,这样就没有改变原数列中的次序关系
for(int i=1; i<=n; i++) r[node[i].order] = i;
阅读全文
0 0
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 离散化
- 关于离散化......
- 矩形离散化
- 什么是离散化?
- POJ1151 离散化
- Redis4.0.X 官方集群方案搭建
- 8月2日训练日记
- Unity3D
- IO流进阶2
- Java单元测试学习
- 离散化
- 机器学习相关算法的大总结(四)
- Spring AOP
- c编辑器之clion安装,编译,控制台乱码修复
- Spreading the Wealth,UVa 11300
- AMS与Activity的交互
- 【c++】菱形继承
- 我的conky安装与配置——基于ubuntu 16.04 LTS
- 数据库视图、变量、存储过程、变量及函数