大模拟题的注意事项合集

news/2024/9/17 18:08:49/文章来源:https://www.cnblogs.com/lazy-ZJY0307/p/18407373

P2058 [NOIP2016 普及组] 海港

坑点:

  • 一开始的思路是直接建一个队列,如果队里有这个国家的人那么就不进队,根据时间不断删除队首,查询队列的 size。
    很容易看出这个思路不可行。
    因为这个时刻队列中有这个国籍的人,下一次就不一定是这一个了
  • 那我们记录此时队列中有几个此国籍的人,根据时间删除时就是这个编号-1,如果减成0,size-1。如果队列里一开始没有,就让 size+1。

一定要先减后加!!!降低时间复杂度

代码:

#include<bits/stdc++.h>using namespace std;queue<pair<int,int> >qt;//记录people的队列 
//pair的first存储这个人进入海港的时间,second存储这个人的国籍 int cnt[5000100];
int sizeq=0;int main()
{int n;cin>>n; for(int i=1;i<=n;i++){int t,k;cin>>t>>k;while(!qt.empty()&&t-qt.front().first>=86400) {int se=qt.front().second;cnt[se]--;if(cnt[se]==0) sizeq--;qt.pop();}for(int j=1;j<=k;j++){int cn;cin>>cn;cnt[cn]++; if(cnt[cn]==1)sizeq++;qt.push({t,cn});}cout<<sizeq<<endl;}return 0;} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/795197.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第四周作业

1、安装burp并实现抓取HTTP站点的数据包(HTTPS站点暂时不要求) 下方练习已完成 2、练习Tomcat PUT方法任意写文件漏洞(CVE-2017-12615),提供蚁剑连接成功截图 # 搜索镜像 docker search cve-2017-12615 # 拉取镜像 docker pull cved/cve-2017-12615 # 查看该镜像的详细信息…

MIT6.824 课程-Raft

Fault Tolerance - Raft 容错模式 我们已经学习了以下几种容错模式(fault-tolerance pattern):计算冗余:MapReduce,但是所有计算由单点 Master 进行调度。 数据冗余:GFS,也是依赖单点 Master 来对多个副本进行选主。 服务冗余:VMware-FT 依赖单个 TestAndSet 操作可以看…

9/10论文学习笔记

1.CPLEX是什么? 2.an apparent-tardiness-cost-with-setup (ATCS)是什么? a basic simulated annealing (SA)基本模拟退火算法 the threshold-accepting (TA) method 阈值接收算法

[Embodied AI Tutorial] The Basic Frameworks and Techniques for Embodied AI (Part2)

目录Embodied AI Tutorial课程内容Modeling and approaches for Embodied AIWorld ModelGet a Good PolicyPlanning And ControlSimulation technology for Embodied AIRigid body simulationCamera simulationAsserts相关链接资料查询 Embodied AI Tutorial 课程主页: slides…

MIT6.824 课程-GFS

GFS原文:https://zhuanlan.zhihu.com/p/113161014 搬运用于参考学习概述 存储(Storage)是一个非常关键的抽象,用途广泛。 GFS 论文还提到了很多关于容错、备份和一致性的问题。 GFS 本身是 Google 内部一个很成功的实用系统,其关键点被很好的组织到一块发表成为了学术论文…

MIT6.824 课程-MapReduce

MapReduce:在大型集群上简化数据处理 概要 MapReduce是一种编程模型,它是一种用于处理和生成大型数据集的实现。用户通过指定一个用来处理键值对(Key/Value)的map函数来生成一个中间键值对集合。然后,再指定一个reduce函数, 它用来合并所有的具有相同中间key的中间value 。…

[Java并发]线程安全的List

线程安全的List 目前比较常用的构建线程安全的List有三种方法:使用Vector容器 使用Collections的静态方法synchronizedList(List< T> list) 采用CopyOnWriteArrayList容器使用Vector容器 Vector类实现了可扩展的对象数组,并且它是线程安全的。它和ArrayList在常用方法的…

章10——面向对象编程(高级部分)——内部类

重点掌握匿名内部类的使用! 1、内部类可以随意访问外部类的成员,包括私有的属性,而外部类不可以。 2、内外部类有重名属性时,内部类的访问采用就近原则,如想访问外部的成员,则用外部类名.this.属性名。内部类分类,四种局部内部类第七条解释:Outer02.this本质是一个外部…

【整理】虚拟地址全解析:操作系统内存管理与进程调度的深度揭秘!

原创 freedom47概述 在现代计算机系统中,虚拟地址是内存管理的关键组成部分。 虚拟地址不仅帮助操作系统高效地管理物理内存,还在进程的内存分配中发挥重要作用。 本文将详细介绍虚拟地址的定义、作用、操作系统的内存管理、进程内存分配、32 位与 64 位架构的内存分配差异,…

2024.9.10 搜索引擎+字体

今天是人工智能的第一节课!我们主要学了引擎的搜索以及字体两部分,干货满满!有一种走了20年弯路的感觉(⊙︿⊙)第一次拥有了博客账号,在我小学的时候我妈妈会用博客记录生活,对于博客有一种熟悉的陌生感hhha 【知识小课堂1】 搜索引擎分为两类: 一、目录式分类搜索引擎,…

The Teachers Day gift a future teacher wants

`#include include void printBanner(); void printHeart(); void printFlower(); int main() { std::cout << "\n"; printBanner(); std::cout << std::endl; printFlower(); std::cout << std::endl; printHeart();return 0;}`点击查看代码 vo…