acm-icpc模板
乙個對閉合區間離散化的小技巧
• 有若干個閉合區間[li,ri],把它們離散化成若干個區間
• 新的區間排序後也有乙個序列
• 做法是把所有li和ri + 1拿出來排序,對於相鄰的兩個元素可以 得到乙個區間[vi,vi+1 − 1]
• 這樣每個原來的區間都包含了新的區間序列的乙個區間
/*去重離散化*/
int tot =0;
scanf
("%d"
,&n)
;over
(i,1
,n)sort
(b,b+tot)
;int res =
unique
(b,b+tot)
-b;over
(i,1
,n) a[i]
=lower_bound
(b,b+res,a[i]
)- b;
/*主要注意unique的用法,返回的是乙個迭代器,而且unique並沒有真正刪除元素*/
/*不去重離散化,相同也會排開*/
struct node
}a[n]
;ll n,m,ranks[n]
;int
main()
離散化模板
離散化模板 include include include include using namespace std intmain return0 unique函式 std unique 功能 對有序的容器重新排列,將第一次出現的元素從前往後排,其他重複出 現的 元素依次排在後面 返回值 返回迭代器...
模板 資料預處理技巧 離散化
問題引入 輸入n個資料,統計每個數出現的次數。資料大小為小於等於1e9的正整數,n小於等於1e5 很顯然,如果直接開乙個1e9的陣列來記錄每個元素出現的次數,那肯定會mle,因此要把我們輸入的資料進行離散化操作。即把無限空間中有限的個體對映到有限的空間中去,以此提高演算法的時空效率。通俗的說,離散化...
離散化問題
題目傳送 uvalive 4127 the sky is the limit 大白書離散化簡單題。找了半天錯誤,居然是少輸出乙個空行。頓時感覺自己萌萌噠。其中計算幾何是套的之前留下的模板。ac include include include include include include inclu...