1. 程式人生 > >動態規劃--100層樓2只雞蛋最少次可以測試最高樓層不摔破

動態規劃--100層樓2只雞蛋最少次可以測試最高樓層不摔破

100層樓2個雞蛋

原題目:100層樓2個雞蛋最少需要幾次測試,才能得到摔破雞蛋的樓層;
轉換題目:兩個雞蛋,進行k次測試,最多可以測試多少層?

分析:第1個雞蛋測試所在的樓層高度為k層。
①如果第1個雞蛋在第k層摔破了,第二個雞蛋就可以從第1層開始慢慢測試,最多k次可以測試到準確樓層;
②如果第1個雞蛋在k層沒有摔破,這個時候就只剩下k-1次機會了,第2次測試的時候第1個雞蛋就可以在第k+(k-1)層測試。如果第2次第1個雞蛋摔破了,第2個雞蛋就可以從k層開始慢慢的往k+(k-1)層測試,如果沒有摔破,就繼續同樣的往更高層測試,第三次的話就應該是k+(k-1)+(k-2)層測試了,這樣就可以確保剩下的機會可以準確測試到摔破的樓層。
③所以公式是:k+(k-1)+(k-2)+…+1>=100;轉化一下就是:k(k+1)/2>=100;求解k>=14;所以100層樓最少14次可以測試到準確摔破樓層;

同樣的道理:
如果是N層樓2個雞蛋呢?
公式是k(k+1)/2>=N

如果是N層樓3個雞蛋呢?
考慮到第1個雞蛋第1次就摔破的可能性,第一次的樓層需要恰到好處。先前k-1次機會能將剩餘樓層測試完,那就是最多可以測試k(k-1)/2層樓,所以第一次在k(k-1)/2+1層樓;如果第1次第1個雞蛋不碎,第2次在此基礎上增加(k-1)(k-2)/2+1層樓,於是,3個雞蛋k次測試機會總共測試樓層數為:[k(k-1)/2+1]+[(k-1)(k-2)/2+1]+…+[2*1/2+1]+[1*0/2+1]={[k^2+(k-1)^2+…+1]-[k+(k-1)+(k-2)+…+1}/2+k=(k^3+5k)/6,k=9。

如果是N層雞蛋n個雞蛋呢,以此類推。

相關推薦

動態規劃--1002雞蛋最少可以測試最高樓層

100層樓2個雞蛋 原題目:100層樓2個雞蛋最少需要幾次測試,才能得到摔破雞蛋的樓層; 轉換題目:兩個雞蛋,進行k次測試,最多可以測試多少層? 分析:第1個雞蛋測試所在的樓層高度為k層。 ①如

100有一個雞蛋,如果確定剛好碎的那個樓層,最壞情況下最少需要多少

分析:這道題我們應反過來考慮,就是用a塊石頭扔b次至多一定可分辨層數X(a,b)。先從最簡裝的一塊石頭考慮,很顯然,X(1,1) = 1X(1,2) = 2X(1,3) = 3.X(1,i) = i再考慮二塊石頭,顯而易見X(2,1) = 1對於X(2,2),我們可這樣考慮,當我們扔第一次後,有兩種可能:破和

2雞蛋100--動態規劃

原題:兩個軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來沒事。有座100層的建築,要你用這兩個雞蛋確定哪一層是雞蛋可以安全落下的最高位置。可以摔碎兩個雞蛋。在最壞的情況下最少需要幾次測試,才能得到摔碎雞蛋的樓層? 這個題目的解答網上的答案有很多,本文就不細述了,

面試題目:2雞蛋100問題

clas family 如果 規劃 數字 span time 試題 一次 題目: 兩個軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來沒事。有座100層的建築,要你用這兩個雞蛋確定哪一層是雞蛋可以安全落下的最高位置。可以摔碎兩個雞蛋。

1002雞蛋問題

題目描述: 一道非常經典的面試題目,給你兩個雞蛋,在一幢100層的大樓裡面,至少扔幾次可以測出讓雞蛋破碎的臨界高度? 兩個軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來沒事。 有座100層的建築,要你用這兩個雞蛋確定哪一層是雞蛋可以安全落下的最高位置。可以

100雞蛋,最快速度找出,哪雞蛋碎的臨界點

x*(x+1)/2=100層樓,x為最優解  第二天         題目:扔雞蛋問題   有2個雞蛋,從100層樓上往下扔,以此來測試雞蛋的硬度。比如雞蛋在第9層沒有摔碎,在第10層摔碎了,那麼雞蛋不會摔碎的

[百度面試題]100,球可能會在某一壞,問用2個球,最壞情況下幾測試可以找出該樓層

該題還可以擴充套件,比如說給更多的球,如3個球,多少次測試可以找出樓層。 分析如下: 用動態規劃解這個問題 設f(a, b)為a個球做b次測試可以測試到的樓層數,可以確定的樓層數即為f(a, b) + 1,因為第1層不需測試,需要測試的樓層號僅僅為[2, f(a, b) +

標題:測試次數(100雞蛋

標題:測試次數 x星球的居民脾氣不太好,但好在他們生氣的時候唯一的異常舉動是:摔手機。 各大廠商也就紛紛推出各種耐摔型手機。x星球的質監局規定了手機必須經過耐摔測試,並且評定出一個耐摔指數來,之後才允許上市流通。 x星球有很多高聳入雲的高塔,剛好可以用來做耐摔測試。塔的

[面試題]100丟玻璃球,一旦超過某就會,你只有兩個球。

題目:  有一棟100層高的大樓,給你兩個完全相同的玻璃球。假設從某一層開始,丟下玻璃球會摔碎。那麼怎麼利用手中的兩個球,用什麼最優策略知道這個臨界的層是第幾層??   思路:最簡單的,扔一個到51層 ,碎了,再試後面50層 ,沒碎再試前面50層,總共50次。時間複雜

[百度面試題]100丟玻璃球問題

轉自 : http://blog.csdn.net/prstaxy/article/details/8655988 有一棟100層高的大樓,給你兩個完全相同的玻璃球。假設從某一層開始,丟下玻璃球會摔碎。那麼怎麼利用手中的兩個球,用什麼最優策略知道這個臨界的層是第幾層??

南陽理工學院動態規劃專題 括號問題2 總結

南陽理工學院動態規劃專題括號問題2總結 這道題目初看起來很簡單,但是我從看題到思考,到做題ac足足花了一個晚上加一個下午的時間,我也有到網上找程式碼的習慣,但是都是遞迴,特別蛋疼,我想用正統的動歸去做,於是就開始了不一樣的艱難探索之旅。 分析過程: 使用char str[1

leetcode【陣列】 2 出現一的數字 -python3

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,

你拿著兩個雞蛋站在 100 的大樓上。雞蛋或許結實到從樓頂掉下也。或許很易碎,在一下就破碎。

雞蛋 可能 結果 最大 第一個 bsp 我們 需要 無法 你拿著兩個雞蛋站在 100 層的大樓上。雞蛋或許結實到從樓頂掉下也不會摔破。或許很易碎,在一樓摔下就破碎。請問最少試驗多少次可以確保找出雞蛋不會被摔碎的最高樓層? 註意:1、只有兩個蛋2、確保找出 一開始,

兩個軟硬程度一樣的雞蛋,它們在某一下會碎,有個100的建築,要求最多用兩個雞蛋確 定雞蛋安全下落的臨界位置,給出臨界位置?如果是n,m個雞蛋,請給出確定臨界位置的演算法

題目:問題:一幢大樓共計100層,某種型別的雞蛋從某一樓層及其以上樓層摔下來時會被打破,從該層樓(即臨界樓層)以下樓層摔下該雞蛋,雞蛋不會出現破損。現給你2個完全一樣的該種類型的雞蛋,問:如何通過這2個雞蛋找到該臨界樓層時,所用的摔雞蛋次數最少? 思考:給了我們2個雞

N個雞蛋從M樓層2雞蛋100

一、題目:   有一棟樓共100層,一個雞蛋從第N層及以上的樓層落下來會摔破, 在第N層以下的樓層落下不會摔破。給你2個雞蛋,設計方案找出N,並且保證在最壞情況下, 最小化雞蛋下落的次數。 二、思路

動態規劃】 Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip

and main spa def esp 動態 return 價值 can 劃分那個序列,沒必要完全覆蓋原序列。對於劃分出來的每個序列,對於某個值v,要麽全都在該序列,要麽全都不在該序列。 一個序列的價值是所有不同的值的異或和。整個的價值是所有劃分出來的序列的價值之和。

動態規劃】Codeforces Round #406 (Div. 2) C.Berzerk

[1] space node sca 一個 for 隊列 ber 動態規劃 有向圖博弈問題。 能轉移到一個必敗態的就是必勝態。 能轉移到的全是必勝態的就是必敗態。 轉移的時候可以用隊列維護。 可以看這個 http://www.cnblogs.com/quintessence

超多經典 canvas 實例,動態離子背景、移動炫彩小球、貪吃蛇、坦克大戰、是男人就下100、心形文字等等等

ntb contex lin 如果 maxwidth sel 容器 操作 reat 超多經典 canvas 實例 普及:<canvas> 元素用於在網頁上繪制圖形。這是一個圖形容器,您可以控制其每一像素,必須使用腳本來繪制圖形。 註意:IE 8 以及更早的版本不

問題—遞歸、動態規劃

不同 cnblogs 正在 動態 clas div pan urn 每次 問題:假設你正在爬樓梯,需要n步你才能到達頂部。但每次你只能爬一步或者兩步,你能有多少種不同的方法爬到樓頂部? code: 1 //動態規劃解決爬樓問題 2 int dp_climbStairs

【Luogu】【關卡2-15】動態規劃的背包問題(2017年10月)

splay image 說明 方案 理解 ostream img 如果 一次 任務說明:這是最基礎的動態規劃。不過如果是第一次接觸會有些難以理解。加油闖過這個坎。 P1060 開心的金明 小明的媽媽給小明N元錢,小明想買m件物品,每個物品價值為 價格*重要度,求出不超過N元