信息竞赛进阶指南--离散化

  
// 离散化
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;
}
发布了726 篇原创文章 · 获赞 402 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/weixin_43627118/article/details/105512412