1. 程式人生 > 資訊 >小米 Civi 推送 MIUI 12.5.7.0 增強版更新:優化軟體下載和充電的溫控、提升相機響應速度等

小米 Civi 推送 MIUI 12.5.7.0 增強版更新:優化軟體下載和充電的溫控、提升相機響應速度等

介紹陣列離散化

vector<int>alls; //儲存所有值
sort(alls.begin(),alls.end()); //將所有值排序
alls.erase(unique(alls.begin(),alls.end()),alls,end()); //去掉重複元素

inline int query(int x)
{
return lower_bound(b + 1,b + m + 1,x) - b;
}

unique(a,b)的操作是對a到b(迭代器)之間的元素去重,返回值是一個迭代器,去重後結束後的最後一個元素的後一個位置(即第一個重複的元素),其原理是把不重複的元素往前提;

而後all.earse(a,b)用來清除a到b(不包括b)的所有元素

inline內嵌函式,加快速度(一般呼叫次數不太大時)

//lower_bound(a,a+n,x) - a 返回第一個大於等於x 當前目標值指標
//upper_bound(a,a+n,x) - a 返回第一個大於x 當前目標值指標

//lower_bound(a,a+n,x,greater<int>()) - a 返回第一個小於等於x 當前目標值指標
//upper_bound(a,a+n,x,greater<int>()) - a 返回第一個小於x 當前目標值指標