第一篇博文,写的不好,我是菜鸡~
经典的贪心,水题,按右端点从小到大的顺序排列即可,然后再贪心一个一个放置.
附ac代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1000005;
struct comp
{
ll start;
ll end;
}p[maxn];
bool cmp(comp a, comp b)
{
return a.end < b.end;
}
int main(int argc, char const *argv[])
{
ll n;
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> p[i].start >>p[i].end;
}
sort(p, p + n, cmp);
ll ans = 1;
int k = 0;
for (int j = 1; j < n; ++j)
{
if (p[k].end > p[j].start)
continue;
else
{
ans++;
k = j;
}
}
cout << ans << endl;
return 0;
}