题目链接
https://www.acwing.com/problem/content/907/
思路我们用pair
来存储每一个区间的两个端点,然后按照右区间从小到大排序,然后每次贪心地将点放在区间的最右边,那么判断是否在下一个区间只需要判断是否大于或等于下一个区间的左区间即可,如果小于的话说明需要在下一个区间放置新点,我们将ans++
,并将当前最新放的点的位置更新
#include
using namespace std;
const int N = 1e5+10;
#define PII pair
vector V;
int n;
int main()
{
cin>>n;
int u,v;
for(int i = 1;i >u>>v;
V.push_back({v,u});
}
sort(V.begin(),V.end());
int loc = V[0].first;
int ans = 1;
for(int i = 1;i = V[i].second) continue;
ans++;loc = V[i].first;
}
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?