AcWing 905. 区间选点 贪心


参考

排序要排右端点。

#include
using namespace std;
#define fir(i,a,n) for(int i=a;i<=n;i++)
//======================
const int N=1e5+10;
struct node
{
	int a,b;
}a[N];
int n;
bool cmp(node a,node b)
{
	return a.b<b.b;
}
int main()
{
	cin>>n;
	fir(i,1,n) 
	{
		int aa,bb;cin>>aa>>bb;
		a[i]={aa,bb};
	}
	sort(a+1,a+1+n,cmp);
	int ans=1;
	int now=a[1].b;
	for(int i=2;i<=n;i++)
	{
		//cout<
		if(now<a[i].a)
		{
			now=a[i].b;ans++;
		}
	}
	cout<<ans;
	return 0; 
}

你可能感兴趣的:(我的ACM之路,贪心算法,c++,算法)