time limit: 1000 ms memory limit: 65536 kib
problem description
設x1 , x2 ,…… , xn 是實直線上的n 個點。用固定長度的閉區間覆蓋這n 個點,至少需要多少個這樣的固定長度閉區間?
對於給定的實直線上的n個點和閉區間的長度k,設計解此問題的有效演算法,計算覆蓋點集的最少區間數,並證明演算法的正確性。
input
輸入資料的第一行有2 個正整數n和k(n≤10000,k≤100),表示有n個點,且固定長度閉區間的長度為k。接下來的1 行中,有n個整數,表示n個點在實直線上的座標(可能相同)。
output
輸出乙個整數,表示計算出的最少區間數輸出。
sample input
7 3sample output1 2 3 4 5 -2 6
3
#include using namespace std;
int main()
sort(a,a+n);
start = a[0];
for(int i = 1; i < n; i++)
} std::cout << sum << '\n';
return 0;
}
4 10區間覆蓋問題
問題描述 設x2,x2,xn是實直線上的n個點。用固定長度的閉區間覆蓋著n個點,至少需要多少個這樣的長度閉區間?設計解決此問題的有效演算法。演算法設計 對於給定的實直線上的n個點和閉區間的長度k,計算覆蓋點集的最少區間數。資料輸入 第一行有兩個整數n和k,表示有n個點,且固定長度閉區間的長度為k。接...
(1)區間完全覆蓋問題(最少)
核心就是找右端點最大值 include include define n 1005 using namespace std struct node str n bool cmp node x,node y else int main sort str,str m,cmp for int i 0 i ...
sdutoj 2074 區間覆蓋問題
用 m mm 條線段覆蓋住 n nn 個小區間,求 m mm 條線段的最小長度和。1 當 m mm 大於等於 n nn 時,直接輸出 n nn 即可。2 當 m mm 小於 n nn 時,先將 n nn 個區間從小到大排好序,區間的總長度便可知道。用 m mm 條線段覆蓋,也就是在這片區間上進行 m...