我们以前遇到需要离散化的题目,大部分都是先对原数组排序,再unique,然后二分,进行离散化。
这里介绍一种在线的离散化方法,那就是利用map
map<int,int> mp;
int Hash(int x)
{
if(mp.find(x)==mp.end()) mp[x]=tot++;
return mp[x];
}
我们以前遇到需要离散化的题目,大部分都是先对原数组排序,再unique,然后二分,进行离散化。
这里介绍一种在线的离散化方法,那就是利用map
map<int,int> mp;
int Hash(int x)
{
if(mp.find(x)==mp.end()) mp[x]=tot++;
return mp[x];
}