• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 30  文章 - 67  trackbacks - 0
            <2011年4月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            常用鏈接

            留言簿(8)

            隨筆分類

            隨筆檔案

            文章檔案

            收藏夾

            Oops

            搜索

            •  

            積分與排名

            • 積分 - 85489
            • 排名 - 276

            最新評論

            閱讀排行榜

            評論排行榜

             

            題目描述:

            你是山西的一個煤老板,你在礦區開采了有3000噸煤需要運送到市場上去賣,從你的礦區
            到市場有1000公里,你手里有一列燒煤的火車,這個火車最多只能裝1000噸煤,且其能耗比較大——每一公里需要耗一噸煤。請問,作為一個懂編程的煤老板的你,你會怎么運送
            才能運最多的煤到集市?

            下面我想闡述下我的思考過程:

            確實是個好題,我開始沒想到好辦法,就開始試了幾組數據,大概的思路應該和大家的差不多: 就是設兩個中轉站,如下圖所示:

             

            第一次嘗試:

            具體的過程是這樣的:

            第一趟: 從采煤區運1000噸煤到200公里處,這時消耗掉200噸,留下600噸,后攜帶200噸返回。

            第二趟: 從采煤區運1000噸煤到200公里處,這時消耗200噸,但是我們增加200噸,這時200公里處剩下400噸,然后繼續前行到達500公里處,卸下400噸后返回,在200公里處在添加200噸煤,后返回到采煤區。

            第三趟: 從采煤區1000噸煤到200公里處,增加200噸煤,然后繼續前行到500這個地方,這時我們的列車上還有700噸煤,我們添加300噸繼續前行到集市,我們這時還剩500噸。

            所以運送到集市為500噸。

            但是我們發現有100噸煤在500公里還沒用,說明還有改進空間。

            第二次嘗試:

            但是我發現200公里處是最優的,所以我假設我們需要兩個中轉站: x1公里處, x2公里處;同時我們令:x1 = 200;

            我們按照上面的過程繼續 f1 表示x1的剩余量, f2表示 x2的剩余量;

            第一趟: f1  =  1000 - 2 * x1; f2  =  0;

            第二趟: f1  = 1000 - 4 * x1; f2 =  1000 - 2* (x2-x1);

            第三趟: f1 =  1000 - 5 * x1; f2 = 1000 - 2*(x2 – x1) + 1000 – (x2 – x1);

            我們發現: 當我們把x1 = 200帶入得到: f1 = 0; f2 = 2600 – 3*x2;

            我們假設我們取其中的f3 但是f3 <= 1000

            最后的載運量令為f = f3 – (1000 – x2);  

            所以我們令f3 = 1000 得到f = 1600/3; 最優值大概是533.333…..

            故事還沒結束:。。。。。

            但是我們還沒發現完里面的玄機:我們發現 1600/3 – 200 = 1000/3;

            這是偶然嗎,哦NO, 繼續 200 = 1000/5

            我們發現0-----x1 火車經過5次, x1 ----x2火車經過3次, 這是偶然嗎,當然不是

            現在思考整個過程:1000噸在0 ---x1消耗的,需要5次, 同理1000噸是在x1----x2消耗,需要3次。

            現在明白了吧其實結果就是1000/5 + 1000/3;

            假設現在是4000噸煤呢: 道理很顯然了吧 1000/7 + 1000/5 + 1000/3

            如果是一般情況呢: n*1000    (n>=2), 顯然n = 1 時答案為0

            這個結果就是 1000 * (1/3 + 1/5 + 1/7 + ….. + 1 / (2*n-1)), 查了下這是個發散的級數,所以還是比較符合現實規律的, 煤假設是無窮的,那么運的也應該是無窮的。

            不知道存在問題不, 希望大家給出

            posted on 2011-04-12 23:10 Cunch 閱讀(3198) 評論(5)  編輯 收藏 引用 所屬分類: YY

            FeedBack:
            # re: 關于山西煤老板那個面試題自己的想法[未登錄] 2011-04-13 10:43 zk
            數學太強了,發散的概念早忘記了

            我的想法:
            假設當前的煤量有L,到下個中轉站的距離為x,那么到下一個中轉站的可以運到的煤量為 L - (upper(L/1000) * 2 - 1) * x

            得到:

            2000<= x <= 3000, L - 5x
            1000<= x < 2000, L - 3x
            0 <= x < 1000, L - x

            所以,中轉站為200, 1000/3

            最后的結果跟lz一樣  回復  更多評論
              
            # re: 關于山西煤老板那個面試題自己的想法[未登錄] 2011-04-13 10:52 cc
            @zk
            2000<= x <= 3000, L - 5x
            1000<= x < 2000, L - 3x
            0 <= x < 1000, L - x

            條件錯了,不好意思

            2000<= L <= 3000, L - 5x
            1000<= L < 2000, L - 3x
            0 <= L < 1000, L - x

            ps: upper(L/1000)的意思為向上取整  回復  更多評論
              
            # re: 關于山西煤老板那個面試題自己的想法 2011-04-13 11:15 Cunch
            @zk
            你的想法挺好的,其實就是做到怎么不浪費唄  回復  更多評論
              
            # re: 關于山西煤老板那個面試題自己的想法 2011-04-13 14:35 pumpkin
            個人感覺作為面試題的話考算法的概率比數學大些吧。
            個人想法是dp,f[x]表示在第x公里處最多還能剩的煤數,f[0]=3000。
            f[x]=max(f[j]-cost(j,x))(0<=j<x)  回復  更多評論
              
            # re: 關于山西煤老板那個面試題自己的想法 2011-04-13 23:24 Cunch
            @pumpkin
            你的dp似乎有問題, 還有你的blog真嚇人  回復  更多評論
              
            99久久国产宗和精品1上映| 欧美日韩精品久久免费| 亚洲嫩草影院久久精品| 久久精品18| 亚洲中文字幕无码一久久区| 九九99精品久久久久久| 伊人久久大香线蕉无码麻豆| 久久久久人妻一区精品色| 国产日韩久久免费影院 | 久久久一本精品99久久精品66 | 少妇被又大又粗又爽毛片久久黑人 | 精品综合久久久久久97| 中文字幕久久欲求不满| 亚洲女久久久噜噜噜熟女| 99久久亚洲综合精品网站| 伊人伊成久久人综合网777| 99国产精品久久| 色欲综合久久中文字幕网| 性做久久久久久久久| 青青草国产精品久久久久| 97精品依人久久久大香线蕉97| 精品国产91久久久久久久a| avtt天堂网久久精品| 久久午夜夜伦鲁鲁片免费无码影视 | 久久精品亚洲一区二区三区浴池 | 无码伊人66久久大杳蕉网站谷歌 | 久久人人爽人人爽人人av东京热| 欧美激情精品久久久久| 伊人久久无码中文字幕| 亚洲一区精品伊人久久伊人| 久久精品人人做人人爽电影| 午夜天堂av天堂久久久| 亚洲国产精品18久久久久久| 亚洲精品美女久久久久99小说| 99精品久久久久久久婷婷| 狠色狠色狠狠色综合久久| 粉嫩小泬无遮挡久久久久久| 久久国产乱子伦免费精品| 久久人爽人人爽人人片AV | 欧美亚洲国产精品久久高清| 久久综合偷偷噜噜噜色|