貪心 區域覆蓋問題

2021-06-23 00:49:28 字數 588 閱讀 5744

time limit: 1000ms   memory limit: 65536k  有疑問?點這裡^_^

用i來表示x座標軸上座標為[i-1,i]的長度為1的區間,並給出n(1≤m≤200)個不同的整數,表示n個這樣的區間。

現在要求畫m條線段覆蓋住所有的區間,

條件是:每條線段可以任意長,但是要求所畫線段的長度之和最小,

並且線段的數目不超過n(1≤n≤50)。

輸入包括多組資料,每組資料的第一行表示點n,和所需線段數m,後面的n行表示點的座標

輸出每組輸出佔一行表示線段的長度。

5 3

1 3 5 8 11

7

我們先稱有線段的區間為線段區間,線段之間的為空區間,這樣應該先求出能覆蓋所有線段的總長度sum,要求求出m條線段的最小長度和,只需要從sum中減去m-1個最長的空區間,即得m條線段且線段長度和最小。

**如下:

#include #include using namespace std;

int main()

return 0;

}

貪心 區間覆蓋問題

區間覆蓋問題 time limit 1000ms memory limit 65536kb submit statistic discuss problem description 設x1 x2 xn 是實直線上的n 個點。用固定長度的閉區間覆蓋這n 個點,至少需要多少個這樣的固定長度閉區間?對於給...

貪心法 區間覆蓋問題

區間覆蓋問題。數軸上有n個閉區間 a i,bi 選擇盡量少的區間覆蓋一條指定線段 s t 先進行預處理,將不包含 s t 的區間都去掉,然後再按左區間從小到大排序。如果最小區間的左區間大於 s 的話,則無解。選取包含 s的右區間最大的區間,該區間的右區間仍然小於下乙個區間的左區間,則無解。按照這樣的...

區間覆蓋問題(貪心) SDUT

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