洛谷P2058 海港

Posted lonlyn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洛谷P2058 海港相关的知识,希望对你有一定的参考价值。

题目:https://www.luogu.org/problem/show?pid=2058

这道题,模拟一下就好了啊orz

模拟队列的push和pop

把新的push进去,把不合条件的pop出去。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<queue>
 6 using namespace std;
 7 int n,ans,vis[100010];
 8 int k,tim,peo;
 9 
10 queue<int>num;
11 queue<int>t;
12 queue<int>nat;
13 
14 int main() {
15     scanf("%d",&n);
16     for(int i=1; i<=n; i++) {
17         scanf("%d%d",&tim,&k);
18         t.push(tim);
19         num.push(k);
20         for(int j=1; j<=k; j++) {
21             scanf("%d",&peo);
22             nat.push(peo);
23             if(vis[peo]==0) ans++;
24             vis[peo]++;
25         }
26         while(tim-86400>=t.front()) {
27             int p=num.front();
28             t.pop();
29             num.pop();
30             for(int j=1; j<=p; j++) {
31                 vis[nat.front()]--;
32                 if(vis[nat.front()]==0) ans--;
33                 nat.pop();
34             }
35         }
36         printf("%d\\n",ans);
37     }
38     return 0;
39 }
戳我>_<

骗分真神奇,暴力出奇迹。

以上是关于洛谷P2058 海港的主要内容,如果未能解决你的问题,请参考以下文章

洛谷P2058 海港

Luogu P2058 海港

P2058 海港

海港(队列)(数组模拟链表)

noip2016海港

海港(NOIP2016 普及组第三题)