区间选点(10分)

题目:题目详情 - 7-5 区间选点 (15 分) (pintia.cn)

题解:1.不难想到给范围排序,然后再判断范围是否重合。

           2.重点就是给范围排序的条件怎么处理。在右边界相等的情况下,按左边界的大小排,其他的按右边界的大小排。

代码如下:

#include
using namespace std;
struct node{
	int x,y;
}d[2000009];
bool com(struct node a,struct node b)
{
	if(a.y==b.y) 
	return a.x>n;
	for(int i=1;i<=n;i++)
	{
		cin>>d[i].x>>d[i].y;
	} 
	sort(d+1,d+n+1,com);
	int l=1;
	for(int i=1;i<=n;i++)
	{
		if(d[i+1].x>d[i].y)
		l++;
	}
	cout<

你可能感兴趣的:(c++)