找回密码
 欢迎注册
查看: 79637|回复: 64

[原创] 火车站的最佳位置

[复制链接]
发表于 2010-10-31 21:55:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
有一个正方形的城市,地面完全平坦。

有无数个居民均匀分布在正方形的内部。

本来该城市是完全与外界隔绝的。

现在该城市准备通火车与外界联系了。

现在请你在正方形内部设立$3$个火车站。

火车站可以看成一个点。

要求居民到最近的火车站的平均距离最短。

精华
问这$3$个火车站应设立在何处?

问题扩展:

如果是$N$个火车站,这$N$个火车站的排列是否有规律?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-11-1 11:25:01 | 显示全部楼层
又是正方形城市!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-11-1 11:52:18 | 显示全部楼层
考虑到个人喜好不同,

有的人喜欢正方形,有的人喜欢圆形,有的人喜欢正三角形,有的人喜欢正六边形,

这里就不限制城市的形状了。

大家可以根据自己的喜好选择一种形状来研究。

Fans主要负责研究正方形。

如果有人将其他图形的结果也做出来了,Fans将不胜感激。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-11-1 14:43:04 | 显示全部楼层
先问一个具体点的问题,如果城市是一个边长为1的正方形,只有一个火车站并且位于正方形的一角上,那么能算出城市各点到火车站的平均距离么?它的精确值是多少呢?

PS:解题之前,先猜猜看结果都会带着什么符号哟。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-11-1 15:03:25 | 显示全部楼层
结果里有Pi。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-11-1 15:06:03 | 显示全部楼层
本帖最后由 KeyTo9_Fans 于 2010-11-1 15:44 编辑

假设楼主的问题的答案是$D(N)$,那么$4$楼问题的答案的精确值是$2$倍的$D(1)$。

因为当$N=1$时,楼主问题的答案是正方形中心。

我们不妨把该正方形横切一刀,竖切一刀,平均分成$4$块。

于是每一块的情况与$4$楼问题相同,只是该正方形的边长为$0.5$。

所以$4$楼问题的答案的精确值是$2D(1)$。

剩下的问题没有改变:

依然是给定$N$,求楼主的问题的答案是多少。

#####

$4$楼的问题等价于求:

$\int_0^1\int_0^1 sqrt(x^2+y^2)dxdy$

结果是

$1/3*(sqrt(2)+ln(1+sqrt(2)))$

约等于

$0.7651957164642126913447660163965$

#####

对于楼主的问题,$D(1)=1/6*(sqrt(2)+ln(1+sqrt(2)))=0.382597858232$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-11-1 15:32:26 | 显示全部楼层
5# 风云剑

呵呵,算一下试试呢……
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-11-1 15:44:03 | 显示全部楼层
我一开始也以为带Pi的,但是答案却相当于带E,所以发了个帖子,呵呵。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-11-1 15:44:17 | 显示全部楼层
本帖最后由 风云剑 于 2010-11-1 15:47 编辑

呵呵,那是瞎猜的。刚才那电脑模拟了一下,0.765172
不过两个车站就不知道如何布局了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-11-1 15:53:04 | 显示全部楼层
我也模拟了一下。

代码如下:
  1. #include<cstdio>
  2. #include<cmath>

  3. double x,y,s;

  4. int main()
  5. {
  6.         s=0;
  7.         for(x=5e-5;x<1;x+=1e-4)
  8.                 for(y=5e-5;y<1;y+=1e-4)
  9.                         s+=sqrt(x*x+y*y);
  10.         printf("%.12lf\n",s/1e8);
  11.         return 0;
  12. }
复制代码
输出如下:

0.765195715729

与真实值相差$7e-10$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-25 18:09 , Processed in 0.059001 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表