贪心算法(题3)区间分组

cpp 复制代码
#include<iostream>
#include<algorithm>//sort
#include<queue>//小根堆 
using namespace std;
const  int N=100010;
int n;
struct Range
{
	int l,r;
	bool operator < (const Range &W)const
	{
		return l<W.l;
	}
 }range[N];
 
int main()
{
	scanf("%d",&n);
	for (int i=0;i<n;i++)
	{
		int l,r; 
		scanf("%d%d",&l,&r);
		range[i]={l,r};
	}
	sort(range,range+n);
	
	priority_queue<int, vector<int>,greater<int> >heap;//写法 
	for(int i=0;i<n;i++)
	{
		auto r=range[i];
		if(heap.empty()||heap.top()>=r.l) heap.push(r.r);//为空或者不满足创新组 
		else
		{
			int t=heap.top();
			heap.pop();
			heap.push(r.r);
		}	
	 } 
	printf("%d\n",heap.size());
	return 0;
} 
 
相关推荐
草履虫建模5 小时前
力扣算法 121. 买卖股票的最佳时机
算法·leetcode·职场和发展·贪心算法·动态规划·一次遍历
养军博客5 小时前
C语言五天速成(可用于蓝桥杯备考 难度中等偏下)
c语言·算法·蓝桥杯
爱尔兰极光5 小时前
LeetCode--有序数组的平方
算法·leetcode·职场和发展
jay神5 小时前
森林火灾检测数据集
算法·机器学习·目标跟踪
80530单词突击赢5 小时前
STLVector底层原理与高效运用
数据结构·算法
haluhalu.5 小时前
LeetCode---基础算法刷题指南
数据结构·算法·leetcode
iAkuya5 小时前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
80530单词突击赢5 小时前
C++关联容器深度解析:set/map全攻略
java·数据结构·算法
m0_561359675 小时前
代码热更新技术
开发语言·c++·算法
xu_yule6 小时前
算法基础—组合数学
c++·算法