【NOIP2016PJ】【Luogu2058】海港
生活随笔
收集整理的這篇文章主要介紹了
【NOIP2016PJ】【Luogu2058】海港
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
點此進入原題
算法:模擬、隊列
序:這題本SB在考場上當然只能拿最SB的70分QAQ
題解:
本題就是一個隊列模擬題
將每艘船編號入隊。如果當前的船比隊列里存在的船要早24小時,則不斷出隊并減去相應國籍,剩下的和直接模擬也沒什么區別了
(代碼用STL的queue寫的,方便理解)
代碼:
#include <cstdio> #include <cstring> #include <iostream> #include <vector> #include <queue> using namespace std; const int N=100005; vector<int> c[N]; queue<int> q; int num[N],t[N],mx; int main() {int n,ans=0;scanf("%d",&n);for(int i=1,k;i<=n;i++){scanf("%d%d",&t[i],&k);for(;!q.empty()&&t[i]-86400>=t[q.front()];q.pop())for(int j=0;j<c[q.front()].size();j++){num[c[q.front()][j]]--;if(!num[c[q.front()][j]]) ans--;}q.push(i);for(int j=1,x;j<=k;j++){scanf("%d",&x);c[i].push_back(x);if(!num[x]) ans++;num[x]++;mx=max(x,mx);}printf("%d\n",ans);} }?
轉載于:https://www.cnblogs.com/farway17/p/6918778.html
總結
以上是生活随笔為你收集整理的【NOIP2016PJ】【Luogu2058】海港的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: structs实现三种action的方法
- 下一篇: rpm命令,yum命令,源码安装pyth