演算法 求解區間覆蓋問題

2021-09-16 12:03:17 字數 537 閱讀 4047

求解區間覆蓋問題(20分)

題目內容:

設x1,x2,… ,xn是實直線上的n個點。用固定長度的閉區間覆蓋這n個點,至少需要多少個這樣的固定長度閉區間?設計求解此問題的有效演算法。對於給定的實直線上的n個點和閉區間的長度k,程式設計計算覆蓋點集的最少區間數。

輸入格式:

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

輸出格式:

將程式設計計算出的最少區間數輸出。

輸入樣例:

7 31 2 3 4 5 -2 6

輸出樣例:

3

#define max 20

#include int manage(int,int,int);

void quicksort(int,int,int);

int partition(int,int,int);

int main()

}return count;

}

區間覆蓋問題 貪心求解

本題給定兩個整數n和t,n表示接下來會輸入n段區間,t表示需要覆蓋的區間為 1,t 題目要求利用輸入的n段區間來覆蓋 1,t 段,且選取數目最小。最終需要輸出最小段數,若給出的區間無法完全覆蓋 1,t 則輸出 1.本題需要用貪心的思路來求解。首先根據每段區間左端點由小到大排序,之後從第一段開始選取,...

P1798 求解區間覆蓋問題

通過數 169 提交數 306 時間限制 1s 空間限制 64mb 10組 leverage 評測方式 全文比較 忽略行末空格和文末回車 標籤提交 問題描述 用 ii 來表示 xx 座標軸上座標為 i 1,i i 1,i 長度為 11 的區間,並給出 n 1 le n le 200 n 1 n 20...

區間覆蓋問題

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