离散化题目(持续更新)
\(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; }