2023年第九屆藍橋杯B組第四題 摔手機題解

2022-03-04 20:32:34 字數 966 閱讀 1300

摔手機

摔手機 動態規劃  在藍橋杯的時候遇到一次 當時沒有做對  看了題解也沒明白  如今再次遇到這個類似的題目

於是拿出來補補吧

摔手機題目如下:

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

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

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

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

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

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

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

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

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

之前做題目時比較天真  覺得   二分 摔手機最優啦  ╮( ̄▽ ̄")╭   ╮( ̄▽ ̄")╭   菜雞的天真

對於這個題目  我們也可以設計乙個狀態  dp[i][j]   i代表手機的數目    j代表層數   dp[i][j]為i個手機j層最佳的策略 最糟糕的次數

下面就是要去求  dp[i][j]是多少啦

假如這裡有j層   那麼我們可以選擇一層  第k層 把手機摔下去  當然  0for(int i=1;i<1001;i++)dp[1][i]=i;

for(int i=1;i<51;i++)dp[i][0]=0;

for(int i=1;i<51;i++)dp[i][1]=1;

for(int j=2;j<51;j++)

for(int i=1;i<1001;i++)

下面要幾個手機幾層樓 至少需要次數多少次 就好像乙個表一樣 直接查詢就可以了

2023年第九屆藍橋杯 C 省賽B組 全區變暖

題目 你有一張某海域nxn畫素的 表示海洋 表示陸地,如下所示 其中 上下左右 四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。由於全球變暖導致了海面上公升,科學家 未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰 上下左右四個相鄰畫素中有海洋 它就...

2023年第九屆藍橋杯C 省賽B組H題

小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...

第九屆藍橋杯B組決賽題解第四題 調手錶

調手錶 小明買了塊高階大氣上檔次的電子手錶,他正準備調時間呢。在 m78 星雲,時間的計量單位和地球上不同,m78 星雲的乙個小時有 n 分鐘。大家都知道,手錶只有乙個按鈕可以把當前的數加一。在調分鐘的時候,如果當前顯示的數是 0 那麼按一下按鈕就會變成 1,再按一次變成 2 如果當前的數是 n 1...