【例6.6】整数区间(信息学奥赛一本通-1324)

【题目描述】

请编程完成以下任务:

1.读取闭区间的个数及它们的描述;

2.找到一个含元素个数最少的集合,使得对于每一个区间,都至少有一个整数属于该集合,输出该集合的元素个数。

【输入】

首行包括区间的数目n,1≤n≤10000,接下来的n行,每行包括两个整数a,b,被一空格隔开,0≤a≤b≤10000

,它们是某一个区间的开始值和结束值。

【输出】

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

【输入样例】

4

3 6

2 4

0 2

4 7

【输出样例】

2

【题解代码】

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

struct date
{
	int l, r;
};

const int N = 1e4 + 10;
date a[N];

bool cmp(date x, date y)
{
	return x.r < y.r;
}

int main()
{
	int n; cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> a[i].l >> a[i].r;
	}

	sort(a + 1, a + 1 + n, cmp);

	int cnt = 1, h = 1;
	for (int i = 2; i <= n; i++)
	{
		if (a[i].l > a[h].r)
		{
			h = i;
			cnt++;
		}
	}
	cout << cnt;

	return 0;
}
相关推荐
藍海琴泉7 分钟前
蓝桥杯算法精讲:二分查找实战与变种解析
python·算法
大刀爱敲代码1 小时前
基础算法01——二分查找(Binary Search)
java·算法
大小胖虎2 小时前
数据结构——第六章:图
数据结构·笔记··最小生成树·拓扑排序·最短路径
HR Zhou5 小时前
群体智能优化算法-正弦余弦算法(Sine Cosine Algorithm, SCA,含Matlab源代码)
算法·机器学习·matlab·优化·群体智能优化
自信的小螺丝钉5 小时前
Leetcode 378. 有序矩阵中第 K 小的元素 二分查找
算法·leetcode·矩阵·二分查找
m0_735234606 小时前
蓝桥杯算法实战分享:算法进阶之路与实战技巧
算法·职场和发展·蓝桥杯
程序员老周6666 小时前
矩阵补充,最近邻查找
算法·机器学习·推荐算法
_GR7 小时前
2021年蓝桥杯第十二届C&C++大学B组真题及代码
c语言·数据结构·c++·算法·蓝桥杯
奋进的小暄7 小时前
贪心算法(11)(java)加油站
算法·贪心算法
lwewan7 小时前
26考研——图_图的基本概念(6)
数据结构·考研