(
time limit: 1000 ms memory limit: 65536 kib
problem description
用i來表示x座標軸上座標為[i-1,i]的長度為1的區間,並給出n(1≤n≤200)個不同的整數,表示n個這樣的區間。
現在要求畫m條線段覆蓋住所有的區間,
條件是:每條線段可以任意長,但是要求所畫線段的長度之和最小,
並且線段的數目不超過m(1≤m≤50)。
input
輸入包括多組資料,每組資料的第一行表示區間個數n和所需線段數m,第二行表示n個點的座標。
output
每組輸出佔一行,輸出m條線段的最小長度和。
sample input
5 3
1 3 8 5 11
sample output
7 hint
注意:題目資料已於2018.4.16更新
這種做法是用m-1個區間將整個區間劃分為m個區間,按理來說要想覆蓋區間最小,m-1個區間和就應該最大,照這個思想給區間差從大到小排序,再用總區間減去m-1個區間即可
source
#include
int a[300];
int b[300];
int main()
for(i=0;i1;i++)}}
for(i=0;i1;i++)
for(i=0;i1-1;i++)}}
int sum=a[0]-a[n-1]+1;
for(i=0;iprintf("%d\n",sum);
}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 輸入包括多組資料,每組資料的第一行表...