离散化
这里只讨论整数的离散化,或者说是,保序离散化
题眼
值域大,但是实际数的个数少,做法就是将数映射到自然数域。你可以理解为将这些数存在一个下标从0开始的数组里
有两个关键点:
- a[]中可能有重复元素,如何去重?
//常用写法 ---直接背
vector<int> alls; //存储所有待离散化的值
sort(alls.begin(),alls.end()); //将所有值排序
alls.erase(unique(alls.begin(),alls.end()),alls.end()); //去掉重复元素
- 如何计算出
x
中离散化后的值 ----二分
int find(int x){
int l=0,r = alls.size()-1;
while(l<r){
int main()
}
}
标签:begin,end,int,整数,离散,alls From: https://www.cnblogs.com/jye159X/p/16862618.html