1 条题解
-
0
找到两个点,使其曼哈顿距离最大。
本题关键是化简曼哈顿距离的式子,对其分类讨论。
第一种情况:
易得,最大值即为 。
第二种情况:
易得,最大值即为 。
综上两种情况,我们求出
$$\max_{x_i+y_i},\min_{x_j+y_j},\max_{x_i-y_i},\min_{x_j-y_j}$$即可求出答案。
注意初始化时,需要将统计变量初始为极大值和极小值。
#include<bits/stdc++.h> #define INF 0x7fffffff using namespace std; int main(){ int T; scanf("%d",&T); int a=-INF,b=-INF,c=INF,d=INF; while(T--){ int x,y; scanf("%d%d",&x,&y); a=max(a,x+y); b=max(b,x-y); c=min(c,x+y); d=min(d,x-y); } printf("%d",max(a-c,b-d)); return 0; }感谢观看。
- 1
信息
- ID
- 2193
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者