ProjectEuler 328 Lowest-cost Search - 拼圖

Gilbert avatar
By Gilbert
at 2011-03-13T12:32

Table of Contents

328. Lowest-cost Search

http://projecteuler.net/index.php?section=problems&id=328


我們要嘗試用猜數字的方法找出一個從{1, 2,......, n}的集合中挑出來的某數

我們猜的每個數字會花費將與我們所猜的數字相同,然而我們可能得到三種情況:

‧你猜的數字比我所選的還要低  或是

‧哇!一模一樣!        或是

‧你猜的數字比我所選的還要高


給定一個 n,我們要考慮最佳的策略,也就是考慮在該策略中總和最高,但是所有策略中

總和最小的。


如果 n = 3,最佳策略就是我們猜 2,這樣答案就呼之欲出了,我們花費了 2。


如果 n = 8,我們可能想要一次砍半地猜,於是乎我們可能猜 4,如果某數比 4 大

我們就可能還要額外的一或兩次猜測,第二次我們猜 6,如果某數仍比 6 大

那某數就是 7 或 8,我們第三次就猜 7,最後的花費就是 4 + 6 + 7 = 17


但我們可以發現當 n = 8 時,5 才是最佳選擇。當某數比 5 大,我們只要猜 7 就有答案

然而我們花費 5 + 7 = 12

如果某數比 5 小,我們第二次會猜 3,如果又比 3 還要小,我們就猜 1,這樣答案就一

定會出來,而總和是 5 + 3 + 1 = 9

所以在 n = 8 且我們採取第一次猜 5 的策略中的所有情況,總和最多的是 12,但他比起

前一個策略總和 17 還要好,所以這才是 n = 8 的最佳策略。


使 C(n) 為 n 的最佳策略中花費最多的,就像上面所說。

因此 C(1) = 0, C(2) = 1, C(3) = 2, C(8) = 12。

100
同樣的,C(100) = 400 且 ΣC(n) = 17575
n=1

200000
請找出 Σ C(n)。
n=1

--
Tags: 拼圖

All Comments

Bennie avatar
By Bennie
at 2011-03-15T01:58
我可以算出來n=1->100 C(n)=17575了
Rae avatar
By Rae
at 2011-03-16T17:56
不過 到20000要跑8個小時耶 怎麼要那麼久?
Madame avatar
By Madame
at 2011-03-21T03:48
寫錯 20000要5分鐘~~ 200000要八個小時
Zanna avatar
By Zanna
at 2011-03-21T15:55
這就是為何題目出來近7小時沒人解答出來的原因(?)
Irma avatar
By Irma
at 2011-03-24T08:37
應該是大家找不到1分鐘的解法吧
應該是有1分鐘內的解法
Rachel avatar
By Rachel
at 2011-03-28T11:23
不過 我的電腦很慢 只有1.7GHz 換快一點的電腦應該可以
3小時以內!
Zanna avatar
By Zanna
at 2011-03-30T09:21
如果跑耗時得程式的話 應該3小時以內就有第1個解答者才對?
Anonymous avatar
By Anonymous
at 2011-03-31T11:16
好久沒玩這個了0.0
Catherine avatar
By Catherine
at 2011-04-03T05:32
跑了6小時 結果答案是錯的 而題目所給的hint數字我都符合
Noah avatar
By Noah
at 2011-04-04T15:37
終於知道這題難在哪了? 難怪現在為止沒人做出來
Caitlin avatar
By Caitlin
at 2011-04-06T11:38
而且我確定不是溢位的問題 應該是演算法有錯
Candice avatar
By Candice
at 2011-04-06T17:17
正確答案應該有12位數 而且比我的答案略小(26359....)
Irma avatar
By Irma
at 2011-04-08T00:48
截至目前為止只有兩位做出來
Olive avatar
By Olive
at 2011-04-11T18:07
看來我在想的某個問題的答案應該是否定的了...
Quintina avatar
By Quintina
at 2011-04-16T04:24
果然這題不能單純 Divide & Conquer 呢
Heather avatar
By Heather
at 2011-04-19T10:09
也就是說大概只能用二維硬做 但這樣需要200K*200K的大表..
Oscar avatar
By Oscar
at 2011-04-21T00:48
以正解應是 12 位數來看 int 還不夠 要 long 的大小
這等於是約 20G * 8 = 160G....= = 我再想想怎麼化簡好了
Ina avatar
By Ina
at 2011-04-23T07:30
lol 已經四天了才17人算出來
Regina avatar
By Regina
at 2011-04-24T11:39
請問因為worst case的條件較為優先,所以當N=11時"勝出
Brianna avatar
By Brianna
at 2011-04-28T16:11
的應該是 4+6+8=18這個策略對吧。因此11是第一個必須
動用到三步猜測的N。
Connor avatar
By Connor
at 2011-05-03T05:40
三步猜測? 如果你是想說最多猜三次的話範例的 N=8 就是啦
Ethan avatar
By Ethan
at 2011-05-03T23:38
另外最多猜測次數的增加不是很穩定
Charlotte avatar
By Charlotte
at 2011-05-08T00:53
像 N=82 的最佳解最多是 11 次 (最多花費 305, 第一猜是 67)
但 N=83 的最佳解最多只要 9 次 (最多花費310, 第一猜 68)
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2011-05-10T09:32
有做的看要不要對一下小的答案...我的C(1000)=6753
然後 \sum n=1~1000 C(n) = 3120345
這個沒錯的話我就要來想想怎麼把這個大玩意搞小一點了
Caitlin avatar
By Caitlin
at 2011-05-11T15:42
(我目前的做法是 O(N^3)..這在N=二十萬時會久到我想殺人..)
Lucy avatar
By Lucy
at 2011-05-15T09:40
我也是求出 C(1000)=6753 能再提供大一點的測資嗎,感謝
Edward Lewis avatar
By Edward Lewis
at 2011-05-18T13:02
也對啦,以讓一堆高手苦戰的題目來說divide&conquer
Ingrid avatar
By Ingrid
at 2011-05-20T05:40
顯得太清純可愛了。仍不瞭問題出在哪 ~攤~
Caitlin avatar
By Caitlin
at 2011-05-21T09:58
想到之前的最短加法練問題,也是OOXX裝清純。
Puput avatar
By Puput
at 2011-05-25T22:15
我也得出了sum n=1~1000 C(n) = 3120345
Todd Johnson avatar
By Todd Johnson
at 2011-05-30T05:20
不過Euler拒絕了我的答案!
Bethany avatar
By Bethany
at 2011-06-02T04:42
現在收斂到了260568268429 不過似乎還不是最佳解
Ivy avatar
By Ivy
at 2011-06-04T09:18
這大概是Euler有史以來最難的題目 比第289題還要難!
Doris avatar
By Doris
at 2011-06-05T20:38
解掉了 令人崩潰的題目!!
Elizabeth avatar
By Elizabeth
at 2011-06-10T01:38
sum n=1~1000 C(n) = 3120345 是正確的
Carolina Franco avatar
By Carolina Franco
at 2011-06-11T23:23
跑了16秒 果然是有一分鐘內的解法 記憶體也不需要太多
Agatha avatar
By Agatha
at 2011-06-14T04:08
之前錯的答案 開頭4碼竟是正確的!! 差了那麼一點
Ina avatar
By Ina
at 2011-06-18T07:21
恭喜
Isabella avatar
By Isabella
at 2011-06-19T16:55
3秒鐘!! 不過論壇裡有人跑到0.25秒
Genevieve avatar
By Genevieve
at 2011-06-22T15:37
有人需要大一點的測資嗎? sum n=1~5000 C(n) = 103047288
單看一個不準 要看總和才準...
Kelly avatar
By Kelly
at 2011-06-26T05:40
我之前錯的答案 C(5000)是對的 但C(4000)卻錯了
Frederica avatar
By Frederica
at 2011-06-29T23:52
0.046秒!!! 天啊~ 我比它還快了 現在是論壇裡最快的!
Barb Cronin avatar
By Barb Cronin
at 2011-07-02T15:31
可以跑到5億:C(5*10^8) 花了19分鐘又20秒
Necoo avatar
By Necoo
at 2011-07-05T08:00
但我的電腦很慢,如果用新型的電腦 應該可以6分鐘內

魔鏡夢遊的拼圖

Lauren avatar
By Lauren
at 2011-03-10T20:20
之前忘記在哪裡看到一組魔鏡夢遊的拼圖 那時候覺得頗喜歡 可是考慮了一下還是沒有買 最近想說找來拚拚看 圖案好像是下面那個圖片切成三分的樣子 過一陣子有點忘記了 http://cdn.stitchkingdom.com/wp-content/uploads/2009/11/AIW_Triptych_FUL ...

騎士踩地雷(knightsweeper)003

Quanna avatar
By Quanna
at 2011-03-09T06:26
※ 引述《EIORU ()》之銘言: : ‧0‧‧‧‧‧‧‧‧ : ‧‧43‧‧‧‧‧‧ : ‧‧1‧3‧25‧1 : ‧‧‧‧‧2‧‧‧‧ : 3‧3‧2‧‧‧‧‧ : ‧3‧1‧‧‧2‧‧ : ‧‧3‧2‧503‧ : ‧‧03‧‧‧2‧‧ : ‧‧1‧0‧‧‧‧‧ : 1‧‧‧‧‧‧‧‧‧ : 共 25 ...

馬賽克拼圖...

Gary avatar
By Gary
at 2011-03-08T21:52
前陣子去大創,看到紙盒的三百片拼圖系列出了馬賽克系列 當下就把三種圖案都搜購回家 分別是自由女神像、瑪麗蓮夢露、蒙娜麗莎 這也是本人與馬賽克拼圖的初體驗 自由女神像的馬賽克是一些風景名勝 瑪麗蓮夢露的馬賽克是花朵 蒙娜麗莎的馬賽克則是名畫 雖然只有三百片,但跟普通的三百片比起來,都花了更多的時間 ...

籠中取珠的版本?

Kyle avatar
By Kyle
at 2011-03-07T22:30
今天收到一封來自以色列Dan Feldman玩家的來信 他給了一個網址 http://www.dealextreme.com/p/bead-in-cage-wooden-puzzle-brain-teaser-iq-toy-31718 他跟我說Slocumand#39;s book中有介紹這是他設計的作品 ...

請大家給我一點意見 關於裱框

Ina avatar
By Ina
at 2011-03-07T22:18
以下是雷諾瓦的連結 http://ppt.cc/pTVV 這幅四季最近想拿去裱框 因為這次不考慮去雷諾瓦裱框 本身又沒啥美學概念 所以想請大家給我一些意見 只是這幅四季有些限制 拼圖本身是68x96cm 但我是打算拿來遮弱電箱的 所以必需是90x109cm(含框) 獅子裱也不能考慮 因為 ...