凌乱的yyy / 线段覆盖

题目背景

快 noip 了,yyy 很紧张!

题目描述

现在各大 oj 上有 n 个比赛,每个比赛的开始、结束的时间点是知道的。

yyy 认为,参加越多的比赛,noip 就能考的越好(假的)。

所以,他想知道他最多能参加几个比赛。

由于 yyy 是蒟蒻,如果要参加一个比赛必须善始善终,而且不能同时参加 2 个及以上的比赛。

输入格式

第一行是一个整数 n,接下来 n 行每行是 2 个整数 ai​,bi​ (ai​

输出格式

一个整数最多参加的比赛数目。

输入输出样例

输入 #1复制

3
0 2
2 4
1 3

输出 #1复制

2

_____________________________________________________________________________

贪心中简单的线段不重叠问题;

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

_____________________________________________________________________________

#include 
using namespace std;
struct node{
	int a,b;开始时间,结束时间
}x[1000005];
bool cmp(node x,node y){按结束时间排序
	return x.b>n;
    for(int i=1;i<=n;i++){
    	cin>>x[i].a>>x[i].b;
	}
	sort(x+1,x+1+n,cmp);
	r=x[1].b;
	for(int i=2;i<=n;i++){如果这一场开始与前一场考试时间不重叠则参加更新r
		if(x[i].a>=r){
			r=x[i].b;
			ans++;
		}
	}
	cout<

你可能感兴趣的:(算法,数据结构,c++,贪心算法)