区间覆盖问题
来源:互联网 发布:高能金域名都物业 编辑:程序博客网 时间:2024/05/22 03:28
区间覆盖问题
Time Limit: 1000MS Memory Limit: 65536KB
SubmitStatistic
Problem Description
用i来表示x坐标轴上坐标为[i-1,i]的长度为1的区间,并给出n(1≤n≤200)个不同的整数,表示n个这样的区间。
现在要求画m条线段覆盖住所有的区间,
条件是:每条线段可以任意长,但是要求所画线段的长度之和最小,
并且线段的数目不超过m(1≤m≤50)。
Input
输入包括多组数据,每组数据的第一行表示区间个数n和所需线段数m,第二行表示n个点的坐标。
Output
每组输出占一行,输出m条线段的最小长度和。
Example Input
5 31 3 8 5 11
Example Output
7
Hint
Author
#include<stdio.h>#define N 1000void sort(int s[],int n){ int i,t,j; for(i=1; i<n; i++) for(j=0; j<n-i; j++) { if(s[j]<s[j+1]) { t=s[j]; s[j]=s[j+1]; s[j+1]=t; } }}int main(){ int n,m,i,j,weizhi[1000],juli[1000],zc; while(~scanf("%d%d",&n,&m)) { for(i=0; i<n; i++) scanf("%d",&weizhi[i]); sort(weizhi,n); for(i=0; i<n-1; i++) juli[i]=weizhi[i]-weizhi[i+1]-1; sort(juli,n-1); if(m>=n) { printf("%d\n",n); } else { int nline=1; zc=weizhi[0]-weizhi[n-1]+1; int qjjl=0; while(nline<m&&juli[qjjl]>0) { nline++; zc=zc-juli[qjjl]; qjjl++; } printf("%d\n",zc); } } return 0;}/*5 311 8 5 3 17 */
0 0
- 区间覆盖问题
- 区间覆盖问题
- 区间覆盖问题
- 区间覆盖问题
- 区间覆盖问题(sdut2074
- 区间覆盖问题
- 区间覆盖问题【贪心】
- 区间覆盖问题
- 【区间完全覆盖问题】
- 区间覆盖问题
- 区间覆盖问题 贪心
- 区间覆盖问题
- 贪心 区间覆盖问题
- 区间覆盖问题(贪心)
- 区间覆盖问题
- 区间覆盖问题
- 区间覆盖问题
- 区间覆盖问题 SDUT2074
- Sublime text 3 [Decode error
- android基础图像处理
- 我的Android NDK之旅(二),使用ndk-build构建Jni
- Android手势密码探索
- Android 支持 Java8
- 区间覆盖问题
- Jquery中AJAX参数详细介绍
- 4月题目汇总2(4.23---4.29)
- BZOJ 4105: [Thu Summer Camp 2015]平方运算
- java中的hash map
- 虚函数和纯虚函数的区别
- Linux块设备驱动(六)————待续
- 数组运算相关学习
- RecyclerView之瀑布流