题解 P3740 【[HAOI2014]贴海报】

· · 题解

吐槽一下数据真的不强,总觉得与题目中的数据范围不符。完全开个扫一遍开个set即可通过啊。

#include <cstdio>
#include <iostream>
#include <set>
int n,m,l,r,vis[10000001];
std::set<int> s;
int main()
{
    scanf("%d %d",&n,&m);
    for(int i=1;i<=m;i++)
    {
        scanf("%d %d",&l,&r);
        for(int j=l;j<=r;j++) vis[j]=i;
    }
    for(int i=1;i<=n;i++) if(vis[i]) s.insert(vis[i]);
    printf("%d\n",s.size());
    return 0;
}