4 10區間覆蓋問題

2021-09-28 14:19:08 字數 780 閱讀 1910

問題描述:設x2,x2,....,xn是實直線上的n個點。用固定長度的閉區間覆蓋著n個點,至少需要多少個這樣的長度閉區間?設計解決此問題的有效演算法。

演算法設計:對於給定的實直線上的n個點和閉區間的長度k,計算覆蓋點集的最少區間數。

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

結果輸出:將計算的最少區間數輸出

**:

#include

void sort(int a,int n);

int cover(int a,int n,int k);

int main()

void sort(int a,int n)

}int cover(int a,int n,int k)

{sort(a,n);

int sum=0;//用於記錄區間個數

int t=0;  //用於標記已被覆蓋的點序號

int start=0; 

while(t執行截圖:

1751 區間覆蓋問題

time limit 1000 ms memory limit 65536 kib problem description 設x1 x2 xn 是實直線上的n 個點。用固定長度的閉區間覆蓋這n 個點,至少需要多少個這樣的固定長度閉區間?對於給定的實直線上的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...