题解 P3740 【[HAOI2014]贴海报】

· · 题解

数据水的一逼啊。。。。

直接暴力就能过吧

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int MAXN=10000001;
int n,m,x,y;
int read(int & n)
{
    char c='/';int x=0,flag=0;
    while(c<'0'||c>'9')
    {c=getchar();
    if(c=='-')flag=1;}
    while(c>='0'&&c<='9')
    {x=x*10+c-48;c=getchar();}
    if(flag)n=-x;
    else n=x;
    return n;
}
int a[MAXN];
int vis[MAXN];
int now=1;
int ans=0;
int main()
{
    //freopen("a.in","r",stdin);
    //freopen("b.out","w",stdout);
    read(n);read(m);
    for(int i=1;i<=m;i++)
    {
        read(x);read(y);
        if(x>y)swap(x,y);
        for(int j=x;j<=y;j++)
        a[j]=i;
    }
    for(int i=1;i<=n;i++)
    {
        if(vis[a[i]]==0&&a[i]!=0)
        {
            ans++;
            vis[a[i]]=1;
        }
    }
    printf("%d",ans);
    return 0;
}