国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

區(qū)間覆蓋問(wèn)題

2019-11-11 02:38:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

PRoblem Description

 用i來(lái)表示x坐標(biāo)軸上坐標(biāo)為[i-1,i]的長(zhǎng)度為1的區(qū)間,并給出n(1≤n≤200)個(gè)不同的整數(shù),表示n個(gè)這樣的區(qū)間。現(xiàn)在要求畫m條線段覆蓋住所有的區(qū)間,條件是:每條線段可以任意長(zhǎng),但是要求所畫線段的長(zhǎng)度之和最小,并且線段的數(shù)目不超過(guò)m(1≤m≤50)。 

Input

 輸入包括多組數(shù)據(jù),每組數(shù)據(jù)的第一行表示點(diǎn)n,和所需線段數(shù)m,后面的n行表示點(diǎn)的坐標(biāo)

Output

 輸出每組輸出占一行表示線段的長(zhǎng)度。

Example Input

5 31 3 8 5 11

Example Output

7

Hint

 

Author

用一條線段的長(zhǎng)度減去間隔最大的m-1組間隔, 得到的就是最短長(zhǎng)度
01#include<stdio.h>
02struct dog
03{
04    int c;
05    int b;
06} a[201], t;
07int main()
08{
09    int n, m, i, l, l2, s, j;
10    while(scanf("%d%d", &n, &m) != EOF)
11    {
12        l = 0;
13        for(i = 0; i < n; i++)
14        {
15            scanf("%d", &a[i].c);
16        }
17        for(i = 0; i < n - 1; i++)
18        {
19            for(j = i + 1; j < n; j++)
20            {
21                if(a[i].c > a[j].c)
22                {
23                    t = a[i];
24                    a[i] = a[j];
25                    a[j] = t;
26                }
27            }
28        }
29        for(j = 0,i = 1; i < n; i++, j++)
30        {
31            a[j].b = a[i].c - 1 - a[i-1].c;
32        }
33        for(i = 0; i < n - 1; i++)
34        {
35            for(j = i + 1; j < n; j++)
36            {
37                if(a[i].b < a[j].b)
38                {
39                    s = a[i].b;
40                    a[i].b = a[j].b;
41                    a[j].b = s;
42                }
43            }
44        }
45        for(i = 0; i < m - 1; i++)
46        {
47            l += a[i].b;
48        }
49        l2 = a[n-1].c - a[0].c + 1 - l;
50        printf("%d/n", l2);
51    }
52    return 0;
53}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 八宿县| 洛川县| 大足县| 博客| 石景山区| 什邡市| 广安市| 新密市| 镇平县| 论坛| 衡阳县| 太白县| 牙克石市| 望城县| 马山县| 九龙县| 星子县| 南雄市| 禹州市| 池州市| 普兰店市| 铁力市| 松桃| 谢通门县| 济宁市| 葫芦岛市| 读书| 洪湖市| 叶城县| 宣武区| 扶余县| 安宁市| 凤庆县| 特克斯县| 抚远县| 景泰县| 会泽县| 乌拉特中旗| 盐源县| 囊谦县| 平塘县|