P2678 跳石頭 題解摘要

2021-10-12 16:52:03 字數 771 閱讀 7999

題目:

題目描述

這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有 n 塊岩石(不含起點和終點的岩石)。在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達終點。

為了提高比賽難度,組委會計畫移走一些岩石,使得選手們在比賽過程中的最短跳躍距離盡可能長。由於預算限制,組委會至多從起點和終點之間移走 m 塊岩石(不能移走起點和終點的岩石)。

輸入格式

第一行包含三個整數 l,n,m,分別表示起點到終點的距離,起點和終點之間的岩石數,以及組委會至多移走的岩石數。保證 l≥1 且 n≥m≥0。

接下來 n 行,每行乙個整數,第 i 行的整數 di​(0二分適用範圍:單調閉區間

出現「最短的最長」、「最小的最大」。。。

如果存在乙個x為非法解,則所有y≥x都是非法解(滿足單調性)

二分跳躍距離,mid為此時的答案,若judge(mid)滿足條件,那麼在它的右邊有可能存在更優解(mid為最短跳躍距離,向右搜尋找乙個更大的、有可能是更優解的mid)。

顯然每道題的judge是不同的,對於此題來說,judge()就是判斷在mid的情況下,移走的石頭數是不是≤限制條件m

對於**:

int l=1,r=n;

while(l<=r)

else r=mid-1;

}judge(int x)

return tot<=m;

}

洛谷 P2678 跳石頭

原題 這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有 nn 塊岩石 不含起點和終點的岩石 在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達終點。為了提高比賽難度,組委會計畫移走一些岩石,使得選手們在比賽過...

洛谷P2678 跳石頭

一年一度的 跳石頭 比賽又要開始了 這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有 n 塊岩石 不含起點和終點的岩石 在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達終點。為了提高比賽難度,組委會計畫移走...

洛谷P2678 跳石頭

一年一度的 跳石頭 比賽又要開始了 這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有 n 塊岩石 不含起點和終 點的岩石 在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達 終點。為了提高比賽難度,組委會計畫...