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
Output
7
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
int main()
{int n,m;int p[201];int d[200];while(~scanf("%d%d",&n,&m)){//输入位置信息,并降序排列for(int i=0; i<=n-1; i++){scanf("%d",&p[i]);}sort(p,p+n,less<int>());//计算出每个位置之间的距离,并且降序排列for(int i=1; i<=n-1; i++){d[i]=p[i]-p[i-1]-1;//减一是因为p点左边有1个距离。}sort(d+1,d+n,less<int>());//如果出现m>=n的情况,那么直接输出nif(m>=n){printf("%d\n",n);continue;}int nline=1;//条数int tl=p[n-1]-p[0]+1;//总长度int devide=n-1;//最大间距while(nline<m){nline++;tl-=d[devide];devide--;}printf("%d\n",tl);}return 0;
}

D - 区间覆盖问题相关推荐

  1. HDU - 3974 Assign the task (DFS建树+区间覆盖+单点查询)

    题意:一共有n名员工, n-1条关系, 每次给一个人分配任务的时候,(如果他有)给他的所有下属也分配这个任务, 下属的下属也算自己的下属, 每次查询的时候都输出这个人最新的任务(如果他有), 没有就输 ...

  2. UVA10020(最小区间覆盖)

    题意:       给你一个区间[0,m]和一些小的区间[l,r]让你选择最少的小区间个数去把整个区间覆盖起来. 思路:       算是比较经典的贪心题目吧(经典于难度没什么对应关系),大体思路可以 ...

  3. 2016 Multi-University Training Contest 10 [HDU 5861] Road (线段树:区间覆盖+单点最大小)...

    HDU 5861 题意 在n个村庄之间存在n-1段路,令某段路开放一天需要交纳wi的费用,但是每段路只能开放一次,一旦关闭将不再开放.现在给你接下来m天内的计划,在第i天,需要对村庄ai到村庄bi的道 ...

  4. 高效算法——E - 贪心-- 区间覆盖

    E - 贪心-- 区间覆盖 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85904#problem/E 解题思路: 贪心思想, ...

  5. P2082 区间覆盖(加强版)

    基础刷起来.水题刷起来... 其实区间覆盖的模板应该背这个... 同样维护left和right,只不过最后要加上r-l+1.里面维护的就有点不一样. 代码: #include<cstdio> ...

  6. *【UVA - 10382】Watering Grass(贪心,区间覆盖问题,思维)

    题干: 题目大意: 有一块草坪,长为l,宽为w,在它的水平中心线上有n个位置可以安装喷水装置,各个位置上的喷水装置的覆盖范围为以它们自己的半径ri为圆.求出最少需要的喷水装置个数,如果无论如何都不能覆 ...

  7. 【HDU - 1698】 Just a Hook(线段树模板 区间覆盖更新(laz标记) + 区间和查询 )

    题干: In the game of DotA, Pudge's meat hook is actually the most horrible thing for most of the heroe ...

  8. 【sdut 1751】 区间覆盖问题

    区间覆盖问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 设x1 ...

  9. 区间覆盖全部类型及部分精选习题汇总详解(贪心策略)

    内容如下: 1)区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖 样例: 区间长度8,可选的覆盖线段[2, ...

  10. sdut 2074 区间覆盖问题(贪心)

    区间覆盖问题 Time Limit: 1000MS Memory limit: 65536K 题目描述 用i来表示x坐标轴上坐标为[i-1,i]的长度为1的区间,并给出n(1≤M≤200)个不同的整数 ...

最新文章

  1. 收藏 | 计算机视觉中的Transformer
  2. nova ERROR (ClientException): 解决方法
  3. ugui源码_UGUI 源码笔记(一)文件结构和部分组件使用
  4. 将JavaScript集成到QML中
  5. Windows Vista Ultimate试用
  6. 深入理解C++内存管理
  7. 我们需要什么样的恐怖小说?
  8. 数学里最令人着迷的公式之一--欧拉公式!
  9. java多线程系列13 设计模式 Future 模式
  10. Kotlin学习笔记 第四章Kotlin调用Java
  11. ASP.NET本质论阅读----应用程序对象
  12. Python工作笔记002---PYTHON之DEF函数
  13. Emgu.CV.CvInvoke的类型初始值设定项引发异常
  14. 如何从Unity商店下载资源?
  15. 怎么使用svn下载到本地
  16. Origin正版申请
  17. SQL Server 的 count(1) 是什么意思呢
  18. 一群不想鸡娃的直男程序员,决定对一支笔下手了
  19. vue 使用vue-canvas-poster生成自定义海报
  20. Introduction to Fabric.js/ Part 8 - Clipping with clipPaths(介绍Fabric.js第八部分-剪裁)

热门文章

  1. R循环有两个_R语言数据分析与挖掘(第九章):聚类分析(2)——层次聚类
  2. 电脑硬件检测_硬盘检测工具哪个好?在win10中这样检查磁盘健康状态就对了
  3. 定量库存控制模型_供应链分析:关于库存管理的预测功能(1)
  4. php强大的函数,PHP最强大的随机字符串生成函数
  5. 汇编语言第三章检测题
  6. 8 -- 深入使用Spring -- 4...3 AOP的基本概念
  7. Maven实战读书笔记(3)
  8. 建立自动备份的维护计划
  9. 使用git版本管理时的免密问题
  10. 11.17 dfs poj1979 Red and Black