经典的石油管道最短位置选择

来源:互联网 发布:上海黄金交易所 知乎 编辑:程序博客网 时间:2024/05/12 09:52

   果然是智商不够,勤奋来凑!!!没办法,没法一次想明白的东西,多看几次,多推敲几次。忽然就有一种醍醐灌顶的感觉,然后就理解啦。

   有多个油井的情况下,需要简历一条主管道,使得所有的油井到主管道的距离最短。求最短的主管道位置的选择。

   答案,是中位数。就是在所有油井的的中间两个油井的位置任何一个位置都可以,如果是是奇数,中位数只有一个数。其本身就是修建主管道的位置。如果是偶数,修建在两个中位数之间任何一个位置都可以,包括任何两个中位数的位置也行。

   想明白了,就简单啦。首先,任何超过y1,~yn的之外的位置,都会不超过y1~yn中间任何一点的距离。

  所以下面就只能在任何y1~yn两个点中间选,将y1~yn序列化成非递减排列,那么最后选取在中间位置(n/2)位置中位数,最小。

   ​说的迷糊,画图一目了然。

    ​    ​

    ​    ​1 2 4 7 9 10

    ​    ​在上面几个点之间选择一个合适的位置,到每个点的距离最短。

    ​    ​首先排除在小于1,大于10的,任何在这个区间之外的,肯定回大于在1跟10之间的位置。

    ​    ​其次考虑1跟10,那么无论选择中间哪一个位置,都是总距离等于10。所以可以随便选。1到10中间任何一个位置。

    ​    ​同理来考虑2,跟9,也是在2到9中间任何一个位置,总距离都是8,。所以位置可以选择2,9任何一个位置。

    ​      ​以此类推,归类于,在中间4到7中间任何一个位置,就是到所有点总距离最短的路径的位置。可以可以选择中位数,4或者7或者4到7中间任何一个位置。如果是奇数,就是中间的一个数。因为选择中位数的时候,同时满足到其他地点总距离最短的条件。




1 0