730 機械人跳躍問題

2022-07-17 08:24:11 字數 789 閱讀 4948

題解:這個題最重要的一點就是:用初始值丈量能不能行時,一定要及時停止,不然連long long都給你爆了。

二分的兩個邊界:

l = (min + 1) / 2

r = max

原因是:

x + x - min >= 0

x-max > 0 沒意義 所以 x <= max

ac**:

#include #include 

#include

#include

using

namespace

std;

typedef

long

long

ll;int

const n = 1e5+5

;ll nums[n];

intn;

ll maxll = -1

;ll minll =1e40;

ll check(

intmid)

if(res < 0

) }

//puts("");

return

res;

}int main(void

)

if(nums[i] }

intres;

int l = (minll+1)/2

;

int r =maxll;

intmid;

while(l printf("%d

",l);

return0;

}

730 機械人跳躍問題

機械人正在玩乙個古老的基於 dos 的遊戲。遊戲中有 n 1 座建築 從 0 到 n 編號,從左到右排列。編號為 0 的建築高度為 0 個單位,編號為 i 的建築高度為 h i 個單位。起初,機械人在編號為 0 的建築處。每一步,它跳到下乙個 右邊 建築。假設機械人在第 k 個建築,且它現在的能量值...

AcWing 730 機械人跳躍問題

acwing 730.機械人跳躍問題 機械人正在玩乙個古老的基於dos的遊戲。遊戲中有n 1座建築 從0到n編號,從左到右排列。編號為0的建築高度為0個單位,編號為 i 的建築高度為h i 個單位。起初,機械人在編號為0的建築處。每一步,它跳到下乙個 右邊 建築。假設機械人在第k個建築,且它現在的能...

AcWing 730 機械人跳躍問題

原題鏈結 考察 二分 or 遞推 思路一 二分初始能量值,check函式檢查即可.要注意的是每次e都 e h,也就是 e 2 e h.2100000不管用什麼資料型別都會爆,因此必須考慮別的做法 此時思路有二 高精度,但是高精很慢,盡量避免高精 避開運算,在e一定滿足條件就return 1 可以發現...