Taxi (曼儿哈顿->切比雪夫+二分) (2022杭电3)

题意:

多组样例,对于每组样例,先给出一个n和m,n代表点的个数,m代表询问的个数,接下来n行,每行3个数(xi,yi,wi),分别代表第i个点的坐标和权值,对于每组询问,首先给出一个坐标,让我们求出这个点到n个点中的值的最大值,这个点到第i个点的值定义为两点曼哈顿距离和i点权值的较小值。 
题解:

  • 曼儿哈顿距离 转切比雪夫距离, 对每一个点 x-> x+y, y->x-y;
  • 然后 max(|x1-x2|,|y1-y2|);
  • 因为这是求最值,没有限制条件,就保存4个端点就行了(x的最值,和y的最值)
  • 有限制条件, 二分 答案, 将 这些点 按照 w 大小重大到加入数, 每次加入一个数,来更新 1到 i 的4个端点(求最大值就保存4个信息就OK了)
  • 然后二分答案,0(1) 判断一下就行了

 

posted @ 2022-09-07 11:18  VxiaohuanV  阅读(43)  评论(0编辑  收藏  举报