// 离散化
void discrete() {
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i++) // 也可用STL中的unique函数
if (i == 1 || a[i] != a[i - 1])
b[++m] = a[i];
}
// 离散化后,查询x映射为哪个1~m之间的整数
void query(int x) {
return lower_bound(b + 1, b + m + 1, x) - b;
}
// 离散化
void discrete() {
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i++) // 也可用STL中的unique函数
if (i == 1 || a[i] != a[i - 1])
b[++m] = a[i];
}
// 离散化后,查询x映射为哪个1~m之间的整数
void query(int x) {
return lower_bound(b + 1, b + m + 1, x) - b;
}