F 區間覆蓋問題

2021-10-10 14:30:55 字數 549 閱讀 2169

設x1 , x2 ,…… , xn 是實直線上的n 個點。用固定長度的閉區間覆蓋這n 個點,至少需要多少個這樣的固定長度閉區間?

對於給定的實直線上的n個點和閉區間的長度k,設計解此問題的有效演算法,計算覆蓋點集的最少區間數,並證明演算法的正確性。

輸入資料的第一行有2 個正整數n和k(n≤10000,k≤100),表示有n個點,且固定長度閉區間的長度為k。接下來的1 行中,有n個整數,表示n個點在實直線上的座標(可能相同)。

輸出乙個整數,表示計算出的最少區間數輸出。

input 

7 3

1 2 3 4 5 -2 6

output 

3
#includeusing namespace std;

int main()

sort(a+1,a+1+n);

sum=1;

int x=k;

for(int i=2;i<=n;i++)

else

} cout<} return 0;

}

區間覆蓋問題

time limit 1000ms memory limit 65536k 用i來表示x座標軸上座標為 i 1,i 的長度為1的區間,並給出n 1 m 200 個不同的整數,表示n個這樣的區間。現在要求畫m條線段覆蓋住所有的區間,條件是 每條線段可以任意長,但是要求所畫線段的長度之和最小,並且線段的...

區間覆蓋問題

time limit 1000ms memory limit 65536k 用i來表示x座標軸上座標為 i 1,i 的長度為1的區間,並給出n 1 m 200 個不同的整數,表示n個這樣的區間。現在要求畫m條線段覆蓋住所有的區間,條件是 每條線段可以任意長,但是要求所畫線段的長度之和最小,並且線段的...

區間覆蓋問題

用i來表示x座標軸上座標為 i 1,i 的長度為1的區間,並給出n 1 n 200 個不同的整數,表示n個這樣的區間。現在要求畫m條線段覆蓋住所有的區間,條件是 每條線段可以任意長,但是要求所畫線段的長度之和最小,並且線段的數目不超過m 1 m 50 input 輸入包括多組資料,每組資料的第一行表...