隨筆-55  評論-208  文章-0  trackbacks-0

          問題的來源是幫一個朋友改數據庫,要求是這樣的,60個題目,總分是100分,正確答案的分值有2分的 1.5分,其中分值的排列關系是隨機的,請問如何設置答對題目,使得答題總分剛好為一個數值,如82分
          我的解決辦法是:
          用一個集合記錄判斷是正確的2分題,當發現期望總分和當前累加總分差值小于1.5時,因為最小單位是1.5,在2分集合中退出一個正確的2分,然后繼續遍歷下去
          雖然后來用上面辦法解決了這個問題,但是我覺得這個問題的解法不夠通用,有很多問題,對這個問題擴展了一下,大家一起討論一下
          一維的:和上面的題目一樣。用變量來描述一下這個問題
          有m個元素,其中每個元素有1個value值,o<value>,value的取值有x,y,z...,按照value值m個元素排列是隨機的,問如何用一次遍歷m,而得到n個元素,這n個元素的value總和是W
          二維的:其實就是俄羅斯方塊了,大家想象我們玩的俄羅斯方塊是不是這個道理
          有m個元素,其中每個元素有1個value值對,o<v1,v2>,value的取值有x,y,z...,按照value值m個元素排列是隨機的,問如何用一次遍歷m,而得到n個元素,這n個元素的value中,v1
          的總和乘以v2的總和是W
          n維的:不知道用什么現實中的情況來描述了
          有m個元素,其中每個元素有1個value值對,o<v1,v2,v3,...vn>,value的取值有x,y,z...,按照value值m個元素排列是隨機的,問如何用一次遍歷m,而得到n個元素,這n個元素的value中,v1
          的總和乘以v2的總和乘以v3的總和...一直乘到vn的總和是W

          呵呵,也許是我孤陋寡聞,上面這個題可能早有算法了,希望知道的朋友能告訴我一聲:)

          發現我好像犯了一個邏輯死角的錯誤,其實一次遍歷后拿到value的分布圖就很簡單了。。。。
          汗自己一個,不刪除文章了,看看有沒有更好的算法,最好是不遍歷完就可以得到一個正確的結果

          posted on 2007-10-02 13:13 rocket 閱讀(3683) 評論(5)  編輯  收藏

          評論:
          # re: 一個堆積木的算法題,比較有意思,歡迎大家討論 2007-10-02 18:08 | t
          不知你的“一次遍歷后拿到value的分布圖就很簡單了”是什么意思?難道是把所有的情況都記錄下來?那樣的話似乎情況太多了吧!  回復  更多評論
            
          # re: 一個堆積木的算法題,比較有意思,歡迎大家討論 2007-10-03 17:38 | 海邊沫沫
          程序員有時候也要用數學的頭腦思考問題撒。
          60個題目,總分100分,先列個方程組撒。得到的結果很顯然是有20個兩分題,40個1.5分題。

          對于最后得分這個數值,我認為首先應該判斷得分是奇數分還是偶數分,如果是偶數分,如82分,說明做對的1.5分題肯定是4的整數倍個。依此類推。

          然后再考慮數據結構撒。  回復  更多評論
            
          # re: 一個堆積木的算法題,比較有意思,歡迎大家討論[未登錄] 2007-10-04 10:51 | Ryan
          發到水木的算法版問問,
          其實只要遍歷一遍,得出閾值范圍,求解方程即可。
          好像沒有好的直接算法,因為是隨機的,很多因素不固定!  回復  更多評論
            
          # re: 一個堆積木的算法題,比較有意思,歡迎大家討論 2007-10-09 21:47 | glamour
          表達不清楚,在說一邊!  回復  更多評論
            
          # re: 一個堆積木的算法題,比較有意思,歡迎大家討論 2007-12-20 12:24 | sai
          多少年沒更新啦,現在很忙?  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 湾仔区| 海淀区| 密云县| 平遥县| 汝州市| 东兰县| 墨玉县| 清原| 北宁市| 灵丘县| 深水埗区| 白银市| 卢龙县| 什邡市| 宜章县| 南和县| 北碚区| 黔东| 扶沟县| 贞丰县| 巴林左旗| 佛教| 灯塔市| 滕州市| 平阴县| 基隆市| 寻甸| 柳林县| 东宁县| 东光县| 扎鲁特旗| 南昌市| 柘城县| 濮阳市| 宁化县| 肥城市| 清徐县| 平安县| 潜江市| 和顺县| 合江县|