离散化题目(持续更新)
\(1.\) \(Cinema\) (需要该篇博文的阅读密码)
离散化_映射
细节:用数值 \(k\) 来保存去重后的数的个数,以便于二分查找。
$View$ $Code$
int n,a[MAX],b[MAX],k;
inline void dr()
{
sort(a+1,a+n+1);
for(register int i=1;i<=n;i++)
{
if(i==1||a[i]!=a[i-1])
b[++k]=a[i];
}
}
离散化_查询
$View$ $Code$
int b[MAX],k,x;
inline int qr(int x)
{
return lower_bound(b+1,b+k+1,x)-b;
}
转载于:https://www.cnblogs.com/Peter0701/p/11255212.html