专栏文章
距离类问题(最全)
算法·理论参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @min4f18k
- 此快照首次捕获于
- 2025/12/01 20:23 3 个月前
- 此快照最后确认于
- 2025/12/01 20:23 3 个月前
0.前言
这一类题目的做法极其死板和唯一,就是两种距离的相互转化,似乎主要的困难点就在于知道这个 trick。
但是这个 trick 本身也并不困难,极其容易学会,同时可以帮助你切掉不少水蓝,水紫。
1.基本定义
1.1 曼哈顿距离
对于二维平面上的两点 和 ,曼哈顿距离定义为:
实际应用:两点在四联通棋盘之间的距离。
性质:
由于曼哈顿距离的 轴, 轴相互独立,所以考虑分开处理。
以下的性质自带一个对坐标进行排序的 复杂度和预处理的 复杂度。
- 可以 求出一个点到其他所有点的距离之和。
how
设我们当且这个点在排序后的数组排名为 。
那么 轴上的答案即为
轴同理。
- 可以 求出所有点两两之间的距离和。
how
设 表示排序后的前 个点两两之间 轴上的距离和。
轴同理。
1.2 切比雪夫距离
对于二维平面上的两点 和 ,切比雪夫距离定义为:
实际应用:两点在八联通棋盘之间的距离,也被称为棋盘距离。
性质:
- 可以 求出所有点两两之间的距离最大值。
how
求出 最大值, 最小值, 最大值, 最小值即可。
- 可以找出有多少指定点到某个点的距离 。
how
经典二维数点问题。
- 可以找出距离某个点第 近的指定点与其的距离。
how
在性质 2 上套一个二分。
2.二维相互转换
2.1曼哈顿距离到切比雪夫距离的转换
通过坐标变换 ,可以将曼哈顿距离问题转化为切比雪夫距离问题。
几何解释:这一变换相当于将坐标轴旋转45度并进行缩放,原坐标系中的菱形(曼哈顿距离等距线)变成了新坐标系中的正方形(切比雪夫距离等距线)。
2.2切比雪夫距离到曼哈顿距离的转换
通过逆向变换 ,可以将切比雪夫距离问题转化为曼哈顿距离问题。
注意
为了避免坐标除以 2 导致的精度误差,我们一般先不除以 2,而是求出答案后统一除以 2。
3.更高维转换
结论: 维的曼哈顿度量空间只能映射到 维的切比雪夫度量空间。
即映射到的每一维是系数为 的线性组合,并去除对称的。
如三维的转化:
4.例题
T1.P3964 [TJOI2013] 松鼠聚会
题意:找到一给定点,使得所有给定点到该点的切比雪夫距离之和最小。
hint
切比雪夫距离转曼哈顿距离,然后使用性质 1。
T2.P8075 [COCI2009-2010#7] KRALJEVI
题意:求出给定点两两之间的切比雪夫距离和。
hint
切比雪夫距离转曼哈顿距离,然后使用性质 2。
T3.AT_abc351_e [ABC351E] Jump Distance Sum
题意:给定点分成两份,求出每一份的给定点两两之间的切比雪夫距离和。
hint
切比雪夫距离转曼哈顿距离,然后使用性质 2。
T4.P3439 [POI2006] MAG-Warehouse
题意:找到平面上任意一点,使得所有给定点到该点的切比雪夫距离之和最小。
hint
切比雪夫距离转曼哈顿距离,然后显然的 轴, 轴分别取中位数。
T5.P5098 [USACO04OPEN] Cave Cows 3
题意:求出所有给定点两两之间的曼哈顿距离最大值。
hint
曼哈顿距离转切比雪夫距离,然后使用性质 1。
T6.P4648 [IOI2007] pairs 动物对数
题意:求出一,二,三维空间有多少点对的曼哈顿距离小于 。
hint
高维曼哈顿距离转切比雪夫距离,然后使用性质 2。
T7.AT_abc233_h Manhattan Christmas Tree
题意:多次查询,每次给出平面上的任意一点,求与该点的曼哈顿距离第k小的给定点的距离为多少。
hint
曼哈顿距离转切比雪夫距离,然后使用性质 3,可以使用主席树维护。
T8.AT_code_festival_2017_quala_d Four Coloring
题意:用四种颜色染色网格,使得曼哈顿距离为 的点颜色不同。
hint
曼哈顿距离转切比雪夫距离,等距线变成矩形,就方便构造了。
T9.P2906 [USACO08OPEN] Cow Neighborhoods G
题意:将曼哈顿距离不超过 的点连边,求连通块数量和最大连通块大小。
hint
曼哈顿距离转切比雪夫距离。
用并查集维护每个连通块。
先对 轴排序,再使用 维护 轴,每次只与最近的合并。
T10.P5193 [TJOI2012] 炸弹https://www.luogu.com.cn/problem/P5193
题意:将曼哈顿距离不超过 的点连边,求连通块数量。
hint
同上。
5.更多例题
6.总结
通过观察,我们不难发现,如果问题与求和有关,使用曼哈顿距离,若问题与比较大小,最值有关,使用切比雪夫距离。
或许其本质上为 abs 和 的相互转化。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...