解题思路:最大相交区间模板题
C++代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
typedef pair<int, int> PII;
PII seg[N];
int n, res;
int main()
{
cin >> n;
for (int i = 0; i < n; i ++ )
{
cin >> seg[i].first >> seg[i].second;
}
sort(seg, seg + n);
int res = 0, ed = seg[0].second;
for (int i = 1; i < n; i ++ )
{
if (seg[i].first >= ed)
{
res ++ ;
ed = seg[i].second;
}
else ed = min(ed, seg[i].second);
}
cout << res + 1 << endl;
return 0;
}