庞果网建立基站问题ruby解答
2013-11-26 23:08
260 查看
题目地址:http://hero.pongo.cn/Question/Details?ID=81&ExamID=79
题目:
题目详情
要建立一个信号基站服务n个村庄,这n个村庄用平面上的n个点表示。假设基站建立的位置在(X,Y),则它对某个村庄(x,y)的距离为max{|X – x|, |Y – y|}, 其中| |表示绝对值,我们的目标是让所有村庄到信号基站的距离和最小。
基站可以建立在任何实数坐标位置上,也可以与某村庄重合。
输入:
给定每个村庄的位置x[],y[],x,y都是整数,满足:
-1000000000 < x,y < 1000000000
村庄个数大于1,小于101。
输出:
所有村庄到信号基站的距离和的最小值。
关于精度:
因为输出是double。我们这样判断对错,如果标准答案是A,你的答案是a,如果|A – a| < 1e-3 我们认为是正确的,否则认为是错误的。
样例:
假设有4个村庄位置分别为 (1,4) (2,3) (0,1) (1,1)
我们的结果是5。因为我们可以选择(1.5,2.5)来建立信号基站。
bestDistance = max(|1.5-1|, |2.5-4|) + max(|1.5-2|,|2.5-3|) + max(|1.5-0|,|2.5-1|) + max(|1.5-1|,|2.5-1|)
= max(0.5, 1.5) + max(0.5,0.5) + max(1.5,1.5) + max(0.5,1.5)
= 1.5 + 0.5 + 1.5 + 1.5
= 5
很不不幸, 这个问题写代码貌似很难写的样子。
从数学上讲,这就是一个分段函数求极值问题,每一个大学毕业生差不多都能做出来。但是一旦转换为代码,就不好实现了。最终没有办法,只能求助伟大的互联网了。
google搜索后发现下面的一片博文:
http://blog.csdn.net/sunnianzhong/article/details/11692417
竟然还要扯上切比雪夫距离等高等数学的内容。这可就蒙了, 都大学毕业快两年了,哪里还记得这些高深的内容,只是记得貌似在大学概率论里面提到这几个名词,切比雪夫一看就知道是一个俄国毛子,俄国的概率论的水平比较高。言归正转,
这可就超出我的能力了。mark一下, 有空再研究。
题目:
题目详情
要建立一个信号基站服务n个村庄,这n个村庄用平面上的n个点表示。假设基站建立的位置在(X,Y),则它对某个村庄(x,y)的距离为max{|X – x|, |Y – y|}, 其中| |表示绝对值,我们的目标是让所有村庄到信号基站的距离和最小。
基站可以建立在任何实数坐标位置上,也可以与某村庄重合。
输入:
给定每个村庄的位置x[],y[],x,y都是整数,满足:
-1000000000 < x,y < 1000000000
村庄个数大于1,小于101。
输出:
所有村庄到信号基站的距离和的最小值。
关于精度:
因为输出是double。我们这样判断对错,如果标准答案是A,你的答案是a,如果|A – a| < 1e-3 我们认为是正确的,否则认为是错误的。
样例:
假设有4个村庄位置分别为 (1,4) (2,3) (0,1) (1,1)
我们的结果是5。因为我们可以选择(1.5,2.5)来建立信号基站。
bestDistance = max(|1.5-1|, |2.5-4|) + max(|1.5-2|,|2.5-3|) + max(|1.5-0|,|2.5-1|) + max(|1.5-1|,|2.5-1|)
= max(0.5, 1.5) + max(0.5,0.5) + max(1.5,1.5) + max(0.5,1.5)
= 1.5 + 0.5 + 1.5 + 1.5
= 5
很不不幸, 这个问题写代码貌似很难写的样子。
从数学上讲,这就是一个分段函数求极值问题,每一个大学毕业生差不多都能做出来。但是一旦转换为代码,就不好实现了。最终没有办法,只能求助伟大的互联网了。
google搜索后发现下面的一片博文:
http://blog.csdn.net/sunnianzhong/article/details/11692417
竟然还要扯上切比雪夫距离等高等数学的内容。这可就蒙了, 都大学毕业快两年了,哪里还记得这些高深的内容,只是记得貌似在大学概率论里面提到这几个名词,切比雪夫一看就知道是一个俄国毛子,俄国的概率论的水平比较高。言归正转,
这可就超出我的能力了。mark一下, 有空再研究。
相关文章推荐
- ruby 一些简单的例子
- Ruby 之 class 中的 private、 protected、public
- 比较详细的ruby symbol 学习资料
- ruby 数组使用教程
- ruby 异常处理:ensure
- Ruby self在不同环境的含义
- 初步了解一下什么是ruby
- ruby 异常处理:rescue
- ruby 单态方法 分析
- Ruby 魔法 学习笔记之一
- ruby 过程对象 解析
- ruby will_paginate的用法
- Ruby进行文件信息输出实例代码
- ruby 小脚本搞定CVS服务器更换后checkout下来的工程迁移
- ruby 流程控制 方法
- ruby 类常量 解析
- ruby 对象的初始化 方法
- print不自动换行,puts会自动换行第1/2页
- Ruby语言中的String深入理解
- ruby 迭代器使用方法