離散化學習

2021-07-16 12:44:11 字數 536 閱讀 7114

有些資料本身很大, 自身無法作為陣列的下標儲存對應的屬性。

如果這時只是需要這堆資料的相對屬性, 那麼可以對其進行離散化處理!

離散化:當資料只與它們之間的相對大小有關,而與具體是多少無關時,可以進行離散化。

例如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

離散化學習總結

離散化在演算法競賽中是乙個很常用且非常好用的乙個技巧,所以學習一下這個還是很有必要的。一 離散化 離散化指的是把大數化為小數,並且保持這幾個數的相對大小不變。比如 原數是1 101 102,離散化之後就是1 2 3。二 離散化的實現 假設我們的陣列是a,並且在開乙個輔助陣列b。賦初值時b i a i...

樹狀陣列 離散化 學習心得

應用 用於計算各種 區間和 時間複雜度 n log2n 基本概念及模板 求和原理 線段樹求和是二分空間,而真正求和只需要用到其中的左側空間,因此出現樹狀陣列。lowbit函式 用於計算二進位制最低位1所在位置的權值 int lowbit int x 樹狀陣列中每個頂點覆蓋的範圍 x lowbit n...

強化學習總結 對於離散空間

強化學習 reinforcement learning 是一種重要的機器學習方法。所謂強化學習就是智慧型體從環境到行為對映的學習,目標是最大化期望積累獎勵。強化學習廣泛應用於無人駕駛汽車,棋類遊戲和機械人等領域當中。強化學習不屬於監督學習,也不屬於非監督學習。階段性任務 智慧型體與環境的互動在乙個特...