題解:這個題最重要的一點就是:用初始值丈量能不能行時,一定要及時停止,不然連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 可以發現...