本人想了3毫秒后用STL做的,没做出来qaq,求条qwq
#include <bits/stdc++.h>
using namespace std;
vector<int> h;
struct sr
{
int u,v,w;
} tmp;
vector<sr> l;
set<int> g;
vector<sr>::iterator it(int k)
{
auto u = l.begin();
for(int i = 1;i <= k;i++) u++;
return u;
}
int main()
{
int n,m;
cin >> n >> m;
int u,v,w;
for(int i = 1;i <= m;i++)
{
cin >> u >> v;
tmp.u = u;
tmp.v = v;
tmp.w = i;
for(int j = 0;j < l.size();j++)
{
if(l[j].v >= tmp.u && l[j].v <= tmp.v && l[j].u <= tmp.u) l[j].v = tmp.u;
if(l[j].u <= tmp.v && l[j].u >= tmp.u && l[j].v >= tmp.v) l[j].u = tmp.v;
while(l[j].u >= l[j].v)
{
l.erase(it(j));
j--;
}
}
l.push_back(tmp);
}
for(int i = 0;i < l.size();i++)
{
g.insert(l[i].w);
}
cout << g.size();
return 0;
}