洛谷 P3858 路標設定

2021-10-14 05:55:09 字數 994 閱讀 7264

題目**:

題目描述:

我們把公路上相鄰路標的最大距離定義為該公路的「空曠指數」。

給出增設的路標數,求最小的空曠指數。

輸入格式:

第1行包括三個數l、n、k,分別表示公路的長度,原有路標的數量,以及最多可增設的路標數量。

第2行包括遞增排列的n個整數,分別表示原有的n個路標的位置。路標的位置用距起點的距離表示,且一定位於區間[0,l]內。

輸出格式

輸出1行,包含乙個整數,表示增設路標後能達到的最小「空曠指數」值。

思路分析:

很明顯,本題可使用二分法查詢。查詢的區間應為[1,max]。

max:設n個路標把公路分成n+1段,max為最大子段的長度。

即空曠指數最小為零,最大為max。當空曠指數為max時不需要新添路標。

首先需要乙個新的check函式來檢查當前空曠指數可不可行。

其次寫二分查詢的函式,就非常簡單了。

詳見**如下:

#include

using namespace std;

#define m 15000000

long long int l, r, mid;

int l, n, k;

int a[m];

bool check(long long int ans)

last = a[i];

}return cnt <= k;

}int main()

l = 1;

while(l < r)

printf("%lld", l);

return 0;

}總結與體會:

二分查詢可以通過多種途徑實現,不能夠僅僅侷限於運用遞迴。在遇到問題的時候要靜下心思考,或者適當聽取別人的建議也是一種不錯的方法。

洛谷 3853 路標設定

b市和t市之間有一條長長的高速公路,這條公路的某些地方設有路標,但是大家都感覺路標設得太少了,相鄰兩個路標之間往往隔著相當長的一段距離。為了便於研究這個問題,我們把公路上相鄰路標的最大距離定義為該公路的 空曠指數 現在 決定在公路上增設一些路標,使得公路的 空曠指數 最小。他們請求你設計乙個程式計算...

P3853 TJOI2007 路標設定

b市和t市之間有一條長長的高速公路,這條公路的某些地方設有路標,但是大家都感覺路標設得太少了,相鄰兩個路標之間往往隔著相當長的一段距離。為了便於研究這個問題,我們把公路上相鄰路標的最大距離定義為該公路的 空曠指數 現在 決定在公路上增設一些路標,使得公路的 空曠指數 最小。他們請求你設計乙個程式計算...

題解 TJOI2007 路標設定

目錄分析 注意事項 code 執行限制 時間 1.00 textrm 空間 128 textrm b 市和 t 市之間有一條長長的高速公路,這條公路的某些地方設有路標,但是大家都感覺路標設得太少了,相鄰兩個路標之間往往隔著相當長的一段距離。為了便於研究這個問題,我們把公路上相鄰路標的最大距離定義為該...