6 条题解

  • 0
    @ 2025-3-26 3:21:07

    差分

    #include <iostream>
    using namespace std;
    
    const int N = 1e4 + 10;
    int a[N], b[N];
    
    void insert(int l, int r, int c)
    {
        b[l] += c;
        if (r + 1 < N) b[r + 1] -= c;
    }
    
    int main()
    {
        ios::sync_with_stdio(false);
        int n, m, sum = 0;
        cin >> n >> m;
        for (int i = 0; i <= n; i ++ ) a[i] = 1;
        for (int i = 0; i <= n; i ++ ) insert(i, i, a[i]);
        while (m -- ) 
        {
            int l, r;
            cin >> l >> r;
            insert(l, r, -1);
        }
        for (int i = 0; i <= n; i ++ )
        {
            b[i] += b[i - 1];
            if (b[i] > 0) ++ sum ;
        }
        cout << sum;
        cout << endl;
        return 0;
    }
    
    

    信息

    ID
    5105
    时间
    1000ms
    内存
    125MiB
    难度
    1
    标签
    递交数
    434
    已通过
    232
    上传者