• cogs 1682. [HAOI2014]贴海报 WW


    ★★☆   输入文件:ha14d.in   输出文件:ha14d.out   简单对比
    时间限制:1 s   内存限制:256 MB

    【题目描述】

    Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论。为了统一管理,城市委员会为选民准备了一个张贴海报的electoral墙。

    张贴规则如下:

    1.electoral墙是一个长度为N个单位的长方形,每个单位记为一个格子;

    2.所有张贴的海报的高度必须与electoral墙的高度一致的;

    3.每张海报以“A B”表示,即从第A个格子到第B个格子张贴海报;

    4.后贴的海报可以覆盖前面已贴的海报或部分海报。

    现在请你判断,张贴完所有海报后,在electoral墙上还可以看见多少张海报。

    【输入格式】

    第一行:     N   M            分别表示electoral墙的长度和海报个数

    接下来M行:   Ai   Bi          表示每张海报张贴的位置


    【输出格式】

    输出贴完所有海报后,在electoral墙上还可以看见的海报数。

    【样例输入】


    100 5

    1 4

    2 6

    8 10

    3 4

    7 10


    【样例输出】

    4

    【提示】


    【约束条件】

    1 0<= N <= 10000000     1<=M<=1000   1<= Ai <= Bi <=10000000

    所有的数据都是整数。数据之间有一个空格

    正解树状数组(线段树???),暴力52分(cogs),AC(luogu):

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cmath>
     5 #include<cstring>
     6 #include<string>
     7  
     8 using namespace std;
     9 const int N=10000010;
    10  
    11 inline int read()
    12 {
    13     int x=0,f=1;
    14     char c=getchar();
    15     while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
    16     while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar();
    17     return x*f;
    18 }
    19  
    20 int vis[N];
    21  
    22 int main()
    23 {
    24     
    25     freopen("ha14d.in","r",stdin);
    26     freopen("ha14d.out","w",stdout);
    27     int n=read();
    28     int m=read();
    29     for(int i=1;i<=m;i++)
    30     {
    31         int u=read();
    32         int v=read();
    33         for(int j=u;j<=v;j++)
    34         {
    35             vis[j]=i;
    36         }
    37     }
    38     int Answer=0;
    39     for(int i=1;i<=m;i++)
    40     {
    41         bool flag=1;
    42         for(int j=1;j<=n&&flag;j++)
    43         {
    44             if(vis[j]==i)
    45             {
    46                 Answer++;
    47                 flag=0;
    48             }
    49         }
    50     }
    51     
    52     printf("%d",Answer);
    53     
    54     return 0;
    55 }
  • 相关阅读:
    STM32F103ZET6 之 ADC+TIM+DMA+USART 综合实验
    关于Stm32定时器+ADC+DMA进行AD采样的实现
    stm32之TIM+ADC+DMA采集50HZ交流信号
    STM32F103VET6 ADC采集64点做FFT变换
    STM32f103的数电采集电路的DMA设计和使用优化程序
    Python 实现 Html 转 Markdown(支持 MathJax 数学公式)
    快速傅里叶变换FFT& 数论变换NTT
    拆系数FFT
    Python 中文编码
    Python 编写一个有道翻译的 workflow 教程
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/6910096.html
Copyright © 2020-2023  润新知