題目背景
一年一度的「跳石頭」比賽又要開始了!
題目描述
這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有 nnn 塊岩石(不含起點和終點的岩石)。在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達終點。
為了提高比賽難度,組委會計畫移走一些岩石,使得選手們在比賽過程中的最短跳躍距離盡可能長。由於預算限制,組委會至多從起點和終點之間移走 mmm 塊岩石(不能移走起點和終點的岩石)。
輸入格式
第一行包含三個整數 l,n,ml,n,ml,n,m,分別表示起點到終點的距離,起點和終點之間的岩石數,以及組委會至多移走的岩石數。保證 l≥1l \geq 1l≥1 且 n≥m≥0n \geq m \geq 0n≥m≥0。
接下來 nnn 行,每行乙個整數,第 iii 行的整數 di(0乙個整數,即最短跳躍距離的最大值。
#include
using
namespace std;
intmain()
left=0;
right=l;
while
(left<=right)
else now=i;}if
(s<=m)
//如果個數小於,說明不夠大
else right=mid-1;
//如果搬走的很多 說明符合的太多了
} cout<}
感覺這道題給了我解答問題的新思路 哈哈哈 但是感覺這個好難去想到呢 但是確實是學會了新知識的了 二分法,二分搜尋
二分法是乙個應用很廣泛的演算法 好吧,剛說出這句話的時候,我查了一下資料,發現我了解的應用寥寥無幾.ok,既然不知道,那就下次補充把。咱們直接進入主題。二分法 bisection method 是一種方程式根的近似值求法。演算法 若要求已知函式f x 0的值則 1.先找出乙個區間 a,b 使得f a...
C 二分法查詢,遞迴二分法
用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...
python二分法查詢 Python 二分法查詢
二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...