zoukankan      html  css  js  c++  java
  • 洛谷 P2058 海港 题解

    Analysis

    这道题是我们今天考试的一道题,考试时只想到了暴力70分的做法,实际上正解是用队列来维护国籍的种类就行了。

     1 #include<cstdio>
     2 #include<queue>
     3 #include<iostream>
     4 #include<cstring>
     5 #include<algorithm>
     6 using namespace std;
     7 inline int read() 
     8 {
     9     int x=0;
    10     bool f=1;
    11     char c=getchar();
    12     for(; !isdigit(c); c=getchar()) if(c=='-') f=0;
    13     for(; isdigit(c); c=getchar()) x=(x<<3)+(x<<1)+c-'0';
    14     if(f) return x;
    15     return 0-x;
    16 }
    17 inline void write(int x)
    18 {
    19     if(x<0){putchar('-');x=-x;}
    20     if(x>9)write(x/10);
    21     putchar(x%10+'0');
    22 }
    23 int n,t,m,x;
    24 int temp_nation[1000005];
    25 int ans;
    26 struct node
    27 {
    28     int s,t;
    29 };
    30 queue<node> q;
    31 node h;
    32 int main()
    33 {
    34     n=read(); 
    35     for(int i=1;i<=n;i++)
    36     {
    37         t=read();m=read();
    38         while(!q.empty())
    39         {
    40             h=q.front();
    41             if(h.t+86400<=t)
    42             {
    43                 temp_nation[h.s]--;
    44                 if(temp_nation[h.s]==0) ans--;
    45                 q.pop();
    46                 continue;
    47             }
    48             break;
    49         }
    50         for(int j=1;j<=m;j++)
    51         {
    52             x=read();
    53             h.s=x;
    54             h.t=t;
    55             q.push(h);
    56             temp_nation[x]++;
    57             if(temp_nation[x]==1) ans++;
    58         }
    59         write(ans);
    60         printf("
    ");
    61     }
    62     return 0;
    63 }
    请各位大佬斧正(反正我不认识斧正是什么意思)
  • 相关阅读:
    CORS跨域漏洞学习
    CVE-2020-0796漏洞复现(RCE)
    Wfuzz使用学习
    DNSlog注入学习
    一些CTF练习记录
    数据结构与算法(十三):赫夫曼树
    数据结构与算法(十二):堆排序
    博客园自定义代码块样式
    Nginx入门(二):常用功能配置
    数据结构与算法(十一):二叉树
  • 原文地址:https://www.cnblogs.com/handsome-zyc/p/11263507.html
Copyright © 2011-2022 走看看