离散化题目(持续更新)
离散化_映射
细节:用数值 (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; }