传送门
http://www.lydsy.com/JudgeOnline/problem.php?id=3170
题目大意
给定n个点坐标,求n−1个点到某一个点的最小切比雪夫距离和
题解
两个点的切比雪夫距离为d=max(|x1−x2|,|y1−y2|)
写一下曼哈顿距离的常用处理方法
两个点(x1,y2),(x2,y2)
其曼哈顿距离=|x1−x2|+|y1−y2|
因为|x1−x2|=max(x1−x2,x2−x1)
所以可以写成=max(x1−x2+y1−y2,x1−x2+y2−y1,x2−x1+y1−y2,x2−x1+y2−y1)=max((x1+y1)−(x2+y2),(x1−y1)−(x2−y2),−(x1−y1)+(x2−y2),−(x1+y1)+(x2+y2))=max(|(x1+y1)−(x2+y2)|,|(x1−y1)−(x2−y2)|)令x′=x+y,y′=x−y=max(|x′1−x′2|,|y′1−y′2|)
这样曼哈顿距离就被转化为了切比雪夫距离
同理,我们把切比雪夫距离转化为曼哈顿距离(x,y)=(x+y2,x−y2)
就转化为了n−1个点到一个点的曼哈顿距离最小
计算曼哈顿距离x和y分开计算即可
CODE