BITCS2016程序设计 | 13. 平面上的邮局

13. 平面上的邮局

成绩 10 开启时间 2016年09月9日 星期五 11:00
折扣 0.8 折扣时间 2016年09月12日 星期一 23:55
允许迟交 关闭时间 2016年10月10日 星期一 23:55

在一个平面上有n(1<=n<=100000)个村庄,每个村庄通过坐标(xi,yi)标示位置,-10^9<=xi,yi<=10^9。现在想要建一个邮局,使得到各个村庄的距离之和最短。
在这个问题中,距离定义为曼哈顿距离,即点i和点j的距离等于|xi-xj|+|yi-yj|
输入第一行为n,表示村庄的数量
接下来n行每行有两个整数,表示一个村庄的坐标
输出一个数字,表示建立的邮局到各个村庄的和

提示:

村庄和邮局的坐标都一定为整数

对于超过int的数字,请用long long,输入和读取用%lld

  测试输入关于“测试输入”的帮助 期待的输出关于“期待的输出”的帮助 时间限制关于“时间限制”的帮助 内存限制关于“内存限制”的帮助 额外进程关于“{$a} 个额外进程”的帮助
测试用例 1 以文本方式显示
  1. 3↵
  2. 0 0↵
  3. 10 10↵
  4. 0 10↵
以文本方式显示
  1. 20↵
无限制 64M 0
解题思路:
       这道题!没有时间限制!!!哈哈哈,不知道以后题目会不会改~关键思路就是这道题目求的是中心点距离每个村庄的曼哈顿距离=|xi-xj|+|yi-yj|!而中心点距离每个点的距离总和可换算为,排序好后的序列中,第一个与最后一个的距离差,加上第二个和倒数第二个的距离差。。。以此类推。那么就可以解题啦!


结果:


P.S. 又是下雨天,舒服的下雨天,让我们一起向前吧!哈哈哈下雨了也要勇敢前进!

一直很喜欢雨天在屋子里努力学习,因为人少,空气清新,有些微冷,喝着热水,特别温暖!哈哈哈Baxia!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值