2018藍橋杯省賽C B組 測試次數

2021-09-13 11:35:46 字數 1240 閱讀 9385

x星球的居民脾氣不太好,但好在他們生氣的時候唯一的異常舉動是:摔手機。

各大廠商也就紛紛推出各種耐摔型手機。x星球的質監局規定了手機必須經過耐摔測試,並且評定出乙個耐摔指數來,之後才允許上市流通。

x星球有很多高聳入雲的高塔,剛好可以用來做耐摔測試。塔的每一層高度都是一樣的,與地球上稍有不同的是,他們的第一層不是地面,而是相當於我們的2樓。

如果手機從第7層扔下去沒摔壞,但第8層摔壞了,則手機耐摔指數=7。

特別地,如果手機從第1層扔下去就壞了,則耐摔指數=0。

如果到了塔的最高層第n層扔沒摔壞,則耐摔指數=n

為了減少測試次數,從每個廠家抽樣3部手機參加測試。

某次測試的塔高為1000層,如果我們總是採用最佳策略,在最壞的運氣下最多需要測試多少次才能確定手機的耐摔指數呢?

請填寫這個最多測試次數。

注意:需要填寫的是乙個整數,不要填寫任何多餘內容。

先看乙個問題:

一、題目: 

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

二:思路:假設我們使用二分的思想去考慮這道題,開始先測試第50層,如果雞蛋壞了,那麼我們就只剩下乙個雞蛋了,就是說我們只能又一次的測試機會了,如果我們在測試第25層時雞蛋還是壞了,那我們就沒有雞蛋可以測試了。也就是說二分的思想不能保證一定能測試出。

換另一種想法,假設我們現在只有乙個雞蛋想要測試的話,那麼我們就只能從第一層開始測試,之後是第二層,第三層。。。。。。直到這個雞蛋壞了。

現在我們有兩個雞蛋,我們可以怎麼辦呢:

假設們只能測試k次,那我們第一測試時就從第k層開始,如果雞蛋壞了,那就用剩下的乙個雞蛋從第一層開始測試。如果沒壞,那就測試k+(k-1)層,如果這一層壞了,那就測試k+1-->k+(k+1)層,否則就測試第k+(k-1)+(k-2)層。。。。

用dp的思想:

dp[i][j]表示用i個雞蛋測試j層的次數;

於是dp[i][j]=min(dp[i][j],max(dpi-1[k-1],dp[i][j-k])+1);

回到本題,有三部手機,樓層是1000。思想和上面的一樣,直接給**:

#include using namespace std;

int main()

} }cout << dp[3][1000] << endl;

return 0;

}

最後得到的答案是19

藍橋杯省賽c b組 1

藍橋杯省賽挺簡單的,學長說只要做對一道填空題就有省三,然而我拿的就是省三,菜的扣腳!不過,現在才大一,我要努力,加油!接下來寫的是關於藍橋杯省賽的一些題解,有點菜,諒解。題目 一堆煤球,成三角形排列,第一排1個,第二排3個,第三排6個,第四排10個,求第100排有多少煤球。include using...

2018第九屆藍橋杯省賽c B組 測試次數

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

2018藍橋杯省賽C C B組

第四題 鷹蛋問題 ppt tls講解 講的很棒,但屬於較難的啊qaq 方法一 時間複雜度n 3 n 2logn 定義 dp i j 用i個蛋在j層樓上最壞情況下確定e所需要的最小次數 轉移 dp i j min max dp i 1 w 1 dp i j w 1 1 w j i log2 n 1 直...