因为曼哈顿距离很好求,所以要把每个点的坐标转换一下。

  转自:http://blog.csdn.net/slongle_amazing/article/details/50911504

  题解

  

两个点的切比雪夫距离为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+y)/2,(x−y)/2)
  就转化为了n−1个点到一个点的曼哈顿距离最小
  计算曼哈顿距离x和y分开计算即可

  

 #include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#define ll long long
#define N 100005
using namespace std;
int n;
struct node
{
int x,y,id;
friend bool operator < (node aa,node bb)
{
return aa.x<bb.x;
}
}a[];
ll ans[N],sum[N];
bool cmp(node aa,node bb)
{
return aa.y<bb.y;
}
int main()
{
scanf("%d",&n);int t1,t2;
for(int i=;i<=n;i++)
{
scanf("%d%d",&t1,&t2);
a[i].x=t1+t2;a[i].y=t1-t2;a[i].id=i;
}
sort(a+,a+n+);
for(int i=;i<=n;i++)sum[i]=sum[i-]+a[i].x;
for(int i=;i<=n;i++)
{
ans[a[i].id]+=(ll)a[i].x*(i-)-sum[i-];
ans[a[i].id]+=(sum[n]-sum[i])-((ll)a[i].x*(n-i));
}
sort(a+,a+n+,cmp);
for(int i=;i<=n;i++)sum[i]=sum[i-]+a[i].y;
for(int i=;i<=n;i++)
{
ans[a[i].id]+=(ll)a[i].y*(i-)-sum[i-];
ans[a[i].id]+=(sum[n]-sum[i])-((ll)a[i].y*(n-i));
}
ll mx=1ll<<;
for(int i=;i<=n;i++)mx=min(mx,ans[i]);
printf("%lld\n",mx/);
return ;
}

bzoj 3170 Tjoi 2013 松鼠聚会 曼哈顿距离&&切比雪夫距离的更多相关文章

  1. Bzoj 3170[Tjoi 2013]松鼠聚会 曼哈顿距离与切比雪夫距离

    3170: [Tjoi 2013]松鼠聚会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1318  Solved: 664[Submit][Stat ...

  2. BZOJ 3170: [Tjoi 2013]松鼠聚会 切比雪夫距离

    3170: [Tjoi 2013]松鼠聚会 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  3. BZOJ 3170: [Tjoi 2013]松鼠聚会( sort )

    题目的距离为max(|x1-x2|, |y1-y2|) (切比雪夫距离). 切比雪夫距离(x, y)->曼哈顿距离((x+y)/2, (x-y)/2) (曼哈顿(x, y)->切比雪夫(x ...

  4. bzoj 3170: [Tjoi 2013]松鼠聚会

    #include<cstdio> #include<iostream> #include<algorithm> #define M 100008 using nam ...

  5. bzoj-3170 3170: [Tjoi 2013]松鼠聚会(计算几何)

    题目链接: 3170: [Tjoi 2013]松鼠聚会 Time Limit: 10 Sec  Memory Limit: 128 MB Description 有N个小松鼠,它们的家用一个点x,y表 ...

  6. 3170: [Tjoi 2013]松鼠聚会

    题目大意 给定n个点,找到一个点使这个点到其他所有点的切比雪夫距离之和最小. 题解 我们知道切比雪夫距离和曼哈顿距离的转化公式 \(1\)表示切比雪夫距离,\(2\)表示曼哈顿距离 我们有: \(x_ ...

  7. [Tjoi 2013]松鼠聚会

    3170: [Tjoi 2013]松鼠聚会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1318  Solved: 664[Submit][Stat ...

  8. BZOJ3170: [Tjoi 2013]松鼠聚会

    3170: [Tjoi 2013]松鼠聚会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 531  Solved: 249[Submit][Statu ...

  9. 【bzoj3170】[Tjoi 2013]松鼠聚会 旋转坐标系

    题目描述 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1.现在N个松鼠要走到一个松鼠家去,求走过的最短距离. 输入 ...

随机推荐

  1. 搭建好看的静态博客(使用Hexo进行搭建)

    经常看到大牛的博客非常的高大帅气,虽然我很渣,但是逼格不能输,所以有了以下的搭建记录. 我的成果ninwoo,喜欢的可以参考下面的记录一起来动手搞起来. 安装Git Bash 访问git下载最新版本的 ...

  2. python-gevent模块实现socket大并发

    服务器端:gevent_server.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  3. [文章存档]如何检测 Azure Web 应用沙盒环境文件系统存储量

    链接:https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-app-service-web-h ...

  4. API验证

    API验证说明 API验证: a. 发令牌: 静态 PS: 隐患 key被别人获取 b. 动态令牌 PS: (问题越严重)用户生成的每个令牌被黑客获取到,都会破解 c. 高级版本 PS: 黑客网速快, ...

  5. VS code MacOS 环境搭建

    环境:MacBook Pro 参考博客 为了动手开发AI代码,我需要安装一个VS code. 开始我以为是安装visual studio呢.我装过visual studio2017. VS code是 ...

  6. Daily Scrum 11.15

    今日完成任务: 1.在回答页面显示用户的相关信息 2.重写了搜索方法,并在自己的Demo网站测试成功 3.修改问题实体属性,加入悬赏积分:并在问题列表页面显示问题悬赏分数 遇到困难:一个是对于学长的搜 ...

  7. Daily Scrum (2015/10/23)

    这天晚上PM和我一起细算下来这周的确做了不少事儿.由于这天是周五,有的组员今晚有外出活动,有的组员忙了一周想休息一下.所以PM与我讨论提出今晚就布置些阅读的任务,给组员们一些自由分配的时间: 成员 今 ...

  8. No.1011_第八次团队会议

    罗老师和Bigman助教: 一直以来没看博客页面,我们的博客负责人不是没写博客,而是不小心把博客发到草稿上了.. 请您再次看一下我们的博客,并批评指正! 今天大家的情绪依旧很低落,离第一轮迭代完成距离 ...

  9. 作业1-MathExam

    MathExam 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 30 • Estim ...

  10. Spring笔记⑤--整合hibernate代码测试

    String整合hibernate代码测试 在上节生成的表中插入数据:   注意:使用myeclipse2014生成的整合项目可能存在问题需要我们自己导入.   第一步 我们写dao接口 packag ...