50pts求助
查看原帖
50pts求助
918434
loveyouYiCheng楼主2023/11/1 20:44
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;

struct node
{
    int x, y;
} a[100010];

int n, f[100010], len;

bool cmp(node x, node y)
{
    return x.x < y.x;
}

int main()
{
    cin >> n;
    for(int i = 1;i <= n; i++)
        cin >> a[i].x >> a[i].y;
    sort(a + 1, a + n + 1, cmp);
    for(int i = 1;i <= n; i++)
    {
        if(a[i].y > f[len]) f[++len] = a[i].y;
        else
        {
            int p = lower_bound(f + 1, f + len + 1, a[i].y) - f;
            f[p] = a[i].y;
        }
    }
    cout << len << endl;
    return 0;
}
2023/11/1 20:44
加载中...