1. 程式人生 > >數據離散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理

數據離散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理

sort ++ unique archive tails 個數 離散 宋體 ont

http://blog.csdn.net/gokou_ruri/article/details/7723378 ↑慣例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的文件管理