三個雞蛋(玻璃球 圍棋子)確定樓層問題公式推導

2021-06-17 18:53:26 字數 2030 閱讀 4311

文章原先發表在: (

1)題目是這樣的:乙個

100層的大廈,你手中有兩個相同的玻璃球。從這個大廈的某一層扔下圍棋子就會碎,用你手中的這兩個玻璃圍棋子,找出乙個最優的策略,來得知那個臨界層面。

這裡的最優策略指的是在這種策略下無論哪個臨界層面在第幾層,測試的次數最少。我一開始就是把題意理解錯了,給了乙個非最優解,後來看了

cu那的討論後才明白了是用動態規劃來做,並可以把題目擴充套件為

n層大廈用

k個玻璃球來測試。

設f(n,k)為用k

個玻璃球來測試

n層大廈的臨界層的最少次數,狀態轉移方程如下:

f(n,k)=min+1, 1<=r<=n}

邊界條件

:f(n,1)=n-1, f(1,k)=f(0,k)=0

狀態轉移方程可以這樣來考慮,假設在

n層樓中的第

r層拋一次

(對應方程中的

"+1")

,會有兩種情況發生:

(1)玻璃球碎,說明在第1到第

r層樓中必有一層為臨界層,問題轉化為乙個子問題:求

f(r,k-1)

(2)玻璃球不碎,說明臨界層在第

r+1層到第n層這

n-r層樓中,問題轉化為子問題:求

f(n-r,k)

因為考慮的是最壞情況下拋球策略的所需測試次數的最小值,所以取這兩種情況中的較大值,並遍歷每乙個可能的

r,取其最小值即得到

f(n,k)。

對於2個玻璃球,次數可由

k*(k+1)/2>=

層數可求出。如

k*(k+1)/2>=100,得k

為14,所以扔的層數為14,14+13=27,27+12=39,39+11=50,50+10=60,60+9=69,69+8=77,77+7=84,84+6=90,90+5=95,95+4=99,

99+3=102

,102+2=104

,104+1=105

,最終可以測

106層。這是結合網上的解析。現在來推導3個玻璃球的情況: 對於

3個玻璃球,我們以樹的形式進行分析:

我們希望每一次用球測量都能獲得最優效果(即能夠測最高的樓層),因此,若設測量次數為

a次,樓層高為

n。我們希望

xx+1=***+2=***x+3=

···=a

,這樣測量才能展現最優效果。同理,

xx+***+***x+

···+1=x-1。

對於y節點也類似,此時

yy+2=yyy+3=

···=a

,yy+yyy+

···+1=y-1

。以此類推,對於最上層,

x+y+

···+1+1>=n

。最後還要加乙個

1是因為當你測

100層,你測到

99層時沒碎,那

100層必碎,故測量樓層比實際測的層數高1。

由上面兩個式子可得

x=(xx+1)*xx/2+1;y=(yy+1)*yy/2+1;

···;

又得使得

xx+1=yy+2=zz+3=

···;

所以yy=xx-1

,zz=xx-2

;···;所以

(xx+1)*xx/2+1+xx*(xx-1)/2+1+

···+1+1>=n

(注意每個式子後面的加

1別忘了,且最後還得加

1層),最終式子為

2*xx+2+

>=n

,得:

2*xx+

,求滿足這個前提的最小

xx值,其最少測試次數即

xx+1

次。且要扔哪些樓層,求解方法通過

x=(xx+1)*xx/2+1,y

及其後面的分層由

(xx-i)*(xx-i-1)/2+1

;i=0

···xx-1

;推出來。(

)由於寫的匆忙,格式排版不太好,湊合看看。word拷貝過來公式顯示不出來,只好截圖快點,呵呵~

拋雞蛋 玻璃球或圍棋 優化版

題目 乙個100層的大廈,你手中有兩個相同的雞蛋 玻璃球或圍棋 從這個大廈的某一層扔下雞蛋 玻璃球或圍棋 就會碎,用你手中的這兩個雞蛋 玻璃球或圍棋 找出乙個最優的策略,來得知那個臨界層面。分析 這道題比較直觀的想法是通過二分來尋找,但是二分的解法應該不是最優的。這裡討論通過動態規劃的思路來求解。這...

100層樓和兩個玻璃球

有一棟100層高的大樓,給你兩個完全相同的玻璃球。假設從某一層開始,丟下玻璃球會摔碎。那麼怎麼利用手中的兩個球,用什麼最優策略知道這個臨界的層是第幾層?投擲次數分布不均。按最壞情況估計,這種方法就多做了幾次。為了使最壞情況的投擲數最小,我們希望無論臨界段在 總的投擲數都不變,也就是說投擲數均勻分布。...

100層樓和兩個玻璃球

有一棟100層高的大樓,給你兩個完全相同的玻璃球。假設從某一層開始,丟下玻璃球會摔碎。那麼怎麼利用手中的兩個球,用什麼最優策略知道這個臨界的層是第幾層?投擲次數分布不均。按最壞情況估計,這種方法就多做了幾次。為了使最壞情況的投擲數最小,我們希望無論臨界段在 總的投擲數都不變,也就是說投擲數均勻分布。...