linjia64的博客

欲戴王冠,必承其重。

整数区间 题解

【题目描述】

一个整数区间[A,B]请编程完成以下任务:1.从文件中读取区间的个数及其它们的描述;2.找到满足下述条件的所含元素个数最少的集合中元素的个数,对于每一个区间,都至少有两个不同的整数属于该集合。

【 输入】

首行包括区间的数目 n,1<=n<=10000,接下来的 n 行,每行包括两个整数 a,b,被一空格隔开,0<=a<=b<=10000,它们是某一个区间的开始值和结束值。

【输出】

第一行集合元素的个数,对于每一个区间都至少有两个不同的整数属于该区间,且集合所包含元素数目最少。 

【样例输入】

4

3 6

2 4

0 2

4 7

【样例输出】

4

=====================题解=====================

用结构体存储区间开始值与结束值,用sort传比较函数来按区间开始的端点升序排列,之后从第一个区间开始,将此区间的最后两个数存入集合数组中,往下对于每个区间都遍历一遍,若其中有两个元素在集合中,那么开始遍历下一个区间,若只有一个,则将此区间最后一个数存入集合,若一个也没有,则将此区间最后两个个数存入集合,最后数一下集合里有多少个数。



阅读更多
文章标签: 贪心
个人分类: 贪心
上一篇营养膳食
下一篇运输 题解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭