切比雪夫距离(oiwiki学习)
-
切比雪夫距离(Chebyshev distance):
对于两个 \(n\) 维向量 \(\vec{x}=(x_1,x_2,...,x_n)\) 与 \(\vec{y}=(y_1,y_2,...,y_n)\),定义它们之间的切比雪夫距离为 \(\max{|x_i-y_i|}\)。 -
切比雪夫距离与曼哈顿距离的联系
\((i)\) 将每一个点 \((x,y)\) 转化为 \((x + y, x - y)\),新坐标系下的切比雪夫距离即为原坐标系下的曼哈顿距离。
\((ii)\) 所以将每一个点 \((x,y)\) 转化为 \((\dfrac{x + y}{2},\dfrac{x - y}{2})\),新坐标系下的曼哈顿距离即为原坐标系下的切比雪夫距离。
说明:\((i)\) 的证明过程即将曼哈顿距离表达式展开后化简,同理逆过程即为 \((ii)\) 的证明。
仅二维情况下可以相互转化,三维的话,把曼哈顿距离展开,有四项绝对值之差,事实上已经不在同一维度了,因此不能转化。
补:\(n\) 维曼哈顿距离对应 \(2^{n-1}\) 维切比雪夫距离,分奇偶用组合数性质证明,也是要把曼哈顿距离展开。
所以如果要考虑三维曼哈顿距离与切比雪夫距离之间的关系的话,一般是枚举一维,剩下的二维则可以相互转化。
以 洛谷P4648 [IOI2007] pairs 动物对数 \(B=3\) 为例子,说明三维曼转切。
考虑到该情况 \(M\) 很小,故应在值域上做文章。
如果仍然从曼哈顿距离出发,不容易高效计算值域入手的满足的点的个数。
而转化为切比雪夫距离之后,考虑其图形(!),发现很容易用前缀和进行维护。
于是此题得解。