Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

最大曼哈顿距离

在二维平面中,设距离最远的两点坐标为 (a1,b1),(a2,b2)则其曼哈顿距离为:|a1−a2|+|b1−b2| 去掉绝对值便有四种形式:

  • (a1−a2)+(b1−b2)
  • (a1−a2)+(b2−b1)
  • (a2−a1)+(b1−b2)
  • (a2−a1)+(b2−b1) 可以对上面的式子变形整理一下转化为:
  • (a1+b1)−(a2+b2)
  • (a1−b1)−(a2−b2)
  • (−a1+b1)−(−a2+b2)
  • (−a1−b1)−(−a2−b2) 我们发现每一项对应坐标的符号都相同,于是可以假设 1 代表正号, 0 代表负号,于是 (a1+b1)可以表示为 11 。

要表示空间中所有状态,只需要用 01<<dem 的所有二进制便可以啦

于是对所有的点,求出上面的那四种转化过的形式,记录每种状态的最小值与最大值,枚举找最大差值即可。