题目大意:给定平面上的n个点,求一个点到这n个点的切比雪夫距离之和最小

与3170不同的是这次选择的点无需是n个点中的一个

首先将每一个点(x,y)变为(x+y,x-y) 这样新点之间的曼哈顿距离的一半就是原点之间的切比雪夫距离

因为曼哈顿距离中横纵坐标不互相干扰,因此我们能够将横纵坐标分开处理

每一维要选一个坐标 到其它全部坐标的绝对值之和相等 非常easy想到中位数

可是直接选择中位数得到的点可能横纵坐标奇偶性不同 这样代回原点中发现不是整点

因此假设得到的点横纵坐标奇偶性同样直接输出距离 不同的话选择周围的四个点进行判定 选择最小的距离输出就可以

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 100100
using namespace std;
int n,X[M],Y[M];
long long Check(int x,int y)
{
int i;
long long re=0;
for(i=1;i<=n;i++)
re+=abs(x-X[i])+abs(y-Y[i]);
return re;
}
int main()
{
int i,x,y;
cin>>n;
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
X[i]=x+y;Y[i]=x-y;
}
sort(X+1,X+n+1);
sort(Y+1,Y+n+1);
x=X[n+1>>1];
y=Y[n+1>>1];
if( ~(x^y)&1 )
cout<<Check(x,y)/2<<endl;
else
cout<<min(min(Check(x+1,y),Check(x-1,y)),min(Check(x,y+1),Check(x,y-1)))/2<<endl;
return 0; }

BZOJ 3210 花神的浇花集会 计算几何- -?的更多相关文章

  1. BZOJ 3210: 花神的浇花集会

    3210: 花神的浇花集会 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 577  Solved: 299[Submit][Status][Discus ...

  2. BZOJ 3210: 花神的浇花集会 (切比雪夫距离)

    GXZlegend 切比雪夫和曼哈顿距离的互相转化看这里 传送门 CODE #include <bits/stdc++.h> using namespace std; #define LL ...

  3. 【BZOJ】【3210】花神的浇花集会

    曼哈顿距离与切比雪夫距离 QAQ蒟蒻并不知道切比雪夫距离是什么……并不会做这道题…… 去膜拜了PoPoQQQ大爷的题解: 题目大意:给定平面上的n个点,求一个点到这n个点的切比雪夫距离之和最小 与31 ...

  4. BZOJ3210: 花神的浇花集会

    3210: 花神的浇花集会 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 238  Solved: 119[Submit][Status] Descri ...

  5. BZOJ_3210_花神的浇花集会_切比雪夫距离

    BZOJ_3210_花神的浇花集会_切比雪夫距离 Description 在花老师的指导下,每周4都有一个集会活动,俗称“浇水”活动. 具体浇水活动详情请见BZOJ3153 但这不是重点 花神出了好多 ...

  6. 【bzoj3210】花神的浇花集会 旋转坐标系

    题目描述 在花老师的指导下,每周4都有一个集会活动,俗称“浇水”活动. 具体浇水活动详情请见BZOJ3153 但这不是重点 花神出了好多题,每道题都有两个参考系数:代码难度和算法难度 花神为了准备浇花 ...

  7. BZOJ3210: 花神的浇花集会(坐标系变换)

    题面 传送门 题解 坐标系变换把切比雪夫距离转化为曼哈顿距离 那么对于所有的\(x\)坐标中,肯定是中位数最优了,\(y\)坐标同理 然而有可能这个新的点不合法,也就是说不存在\((x+y,x-y)\ ...

  8. bzoj3210 花神的浇花集会 坐标

    题目大意:给定平面上的n个点,求一个点到这n个点的切比雪夫距离之和最小 与3170不同的是这次选择的点无需是n个点中的一个 首先将每个点(x,y)变为(x+y,x-y) 这样新点之间的曼哈顿距离的一半 ...

  9. 【bzoj3210】花神的浇花集会

    将(x,y)转化成(x+y,x-y)可以将切比雪夫距离转化成曼哈顿距离(自己推一推) A.B的切比雪夫距离就是A‘.B‘曼哈顿距离的一半. 那么可以将x.y分离处理,排序中位数即可. 注意如果最后选的 ...

随机推荐

  1. 47.使用 RequireJS 加载 AngularJS

    转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS 目前的版本没有遵循 Javascript 约定的 AMD 模块化规范, 因此使用 Requ ...

  2. 安卓开发--AsyncTask

    package com.cnn.asynctask; import android.app.Activity; import android.content.Intent; import androi ...

  3. T-SQL函数类型——系统函数

    1 ??? 为什么 123 和'123'的ISNUMERIC()返回结果相同. SELECT ISNUMERIC(123)  --结果为1SELECT ISNUMERIC('123') --结果为1S ...

  4. B-Boxes

    http://agc010.contest.atcoder.jp/tasks/agc010_b Problem Statement There are N boxes arranged in a ci ...

  5. sublime text3之修改注释颜色

    在用sublime text3编写Python2代码时总觉得注释颜色太浅了, 看起来吃力,于是就尝试去修改,和sublime text2不同, sublime text3的主题配置文件在Sublime ...

  6. vue分页组件火狐中出现样式问题

    分页的操作到了火狐浏览器会样式 怎么解决? 其实就是将input的type属性变成了text,因为number属性会变成上下的小箭头

  7. zabbix 使用自带模板监控mysql

    1.这里可以采用zabbix自带的mysql模版,但是也需要在mysql服务器上准备获取mysql status的脚本chk_mysql.sh,zabbix通过调用这个脚本来获取mysql的运行信息. ...

  8. 紫书 例题 10-26 UVa 11440(欧拉函数+数论)

    这里用到了一些数论知识 首先素因子都大于M等价与M! 互质 然后又因为当k与M!互质且k>M!时当且仅当k mod M! 与M!互质(欧几里得算法的原理) 又因为N>=M, 所以N!为M! ...

  9. 【Henu ACM Round#20 B】Contest

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 根据时间和原分数. 算出对应的分数就可以了. [代码] #include <bits/stdc++.h> using n ...

  10. 三 概要模式 2) MR倒排索引、性能分析、搜索干扰词。

    二  倒排索引     倒排索引(英语:Inverted index),也常被称为反向索引.置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射. ...