数据离散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理

Posted 鲸头鹳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据离散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理相关的知识,希望对你有一定的参考价值。

↑惯例Mark大神的博客
 

bzoj3289:Mato的文件管理

线段树求逆序对+莫队,但是数据量50000却没有给出范围,既然求逆序对,那么我们关注的只是数据之间的相对大小,此时我们可以把这50000个数据进行简化...嗯看大神的博客就明白了不需要多解释什么了..
 
下面是博客中未授权截取的大神的代码板子....不过都是自己看应该也没什么吧.....
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]经离散化后对应的值

lower_bound上一篇刚好记录过了,下面是unique的用法....
http://www.cnblogs.com/heyonggang/archive/2013/08/07/3243477.html
↑unique+unique_copy,用前记得sort把相同的数据排到一起
 
unique(,)就和sort(,)里放的东西差不多...返回的是一个地址所以要-数组名....
 
stl真是好东西,感动

以上是关于数据离散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理的主要内容,如果未能解决你的问题,请参考以下文章

ACM 离散化处理

洛谷 [P1995] 程序自动分析

离散化——化不可能为可能(STL)

离散化操作

Unique Snowflakes UVA - 11572 (离散化+尺取法)

坐标离散化注意点