[洛谷]P3613 【深基15.例2】寄包柜

news2024/11/17 1:46:43

[洛谷]P3613 【深基15.例2】寄包柜

  • 一、问题描述
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 提示
  • 二、思路分析
    • 1、算法标签
    • 2、算法思路
  • 三、代码实现

一、问题描述

[洛谷]P3613 【深基15.例2】寄包柜

题目描述

超市里有 n ( 1 ≤ n ≤ 1 0 5 ) n(1\le n\le10^5) n(1n105) 个寄包柜。每个寄包柜格子数量不一,第 i i i 个寄包柜有 a i ( 1 ≤ a i ≤ 1 0 5 ) a_i(1\le a_i\le10^5) ai(1ai105) 个格子,不过我们并不知道各个 a i a_i ai 的值。对于每个寄包柜,格子编号从 1 开始,一直到 a i a_i ai。现在有 q ( 1 ≤ q ≤ 1 0 5 ) q(1 \le q\le10^5) q(1q105) 次操作:

  • 1 i j k:在第 i i i 个柜子的第 j j j 个格子存入物品 k ( 0 ≤ k ≤ 1 0 9 ) k(0\le k\le 10^9) k(0k109)。当 k = 0 k=0 k=0 时说明清空该格子。
  • 2 i j:查询第 i i i 个柜子的第 j j j 个格子中的物品是什么,保证查询的柜子有存过东西。

已知超市里共计不会超过 1 0 7 10^7 107 个寄包格子, a i a_i ai 是确定然而未知的,但是保证一定不小于该柜子存物品请求的格子编号的最大值。当然也有可能某些寄包柜中一个格子都没有。

输入格式

第一行 2 个整数 n n n q q q,寄包柜个数和询问次数。

接下来 q q q 个整数,表示一次操作。

输出格式

对于查询操作时,输出答案,以换行隔开。

样例 #1

样例输入 #1

5 4
1 3 10000 118014
1 1 1 1
2 3 10000
2 1 1

样例输出 #1

118014
1

提示

upd 2022.7.26 \text{upd 2022.7.26} upd 2022.7.26:新增加一组 Hack 数据。

二、思路分析

1、算法标签

这道题主要考察的是 c + + c++ c++ s t l stl stl m a p map map容器的使用

2、算法思路

这道题总结成一句话就是,我们先通过数据 a a a找到柜子,再通过数据 b b b找到柜子中的具体格子。所以我们需要两次索引值。

那么第一种方法就是创建一个二维数组,每一行代表一个柜子,每一行中的不同列代表的是柜子中的格子,但是题目中的数据量非常大,并且每个柜子中的具体格子数我们也不知道。所以创建二维数组的方式是不可取的。

因此,我们想到了另外一种可以用来索引的容器, m a p map map。我们可以创建下列这种数据结构:

m a p < i n t , m a p < i n t , i n t > > map<int ,map<int,int>> map<int,map<int,int>>

其中第一个int代表的是柜子,内部嵌套的第一个int代表的是柜子中的格子,第二个代表的是我们放的物品。

这个数据结构的定义就是这道题的难点,那么接下来的步骤就很简单了。

我们直接上代码。

三、代码实现

#include<iostream>
#include<map>
using namespace std;
map<int,map<int,int>>q;
int n,m;
int main()
{
    cin>>n>>m;
    for(int i=0;i<m;i++)
    {
        int a;
        cin>>a;
        int b,c,d;
        if(a==1)
        {
            cin>>b>>c>>d;
            q[b][c]=d;
        }
        else
        {
            cin>>b>>c;
            cout<<q[b][c]<<endl;
        }
    }
    return 0;
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Quarkus实战》总结

《Quarkus实战》总结 目录 一、优势二、搭建脚手架三、Rest 1)启用跨源资源共享2)拦截HTTP请求3)使用SSL进行安全连接 四、配置 1)以程序化的方式访问配置属性2)在外部覆盖配置值3)修改日志配置 五、编程模型 1)校验输入值和输出值2)全局异常处理3)创建自定义校验4)以程序化的方…

荣耀加冕 大道可期 | WotoKOL卧兔荣获星球奖BrandStar Awards 2022服务创新奖

2022年11月&#xff0c;星球奖BrandStar Awards 2022获奖名单揭晓&#xff0c;WotoKOL卧兔荣获服务创新奖 &#xff01; 据了解&#xff0c;星球奖BrandStar Awards 是品牌星球于 2021 年发起的&#xff0c;以「品牌创新」为核心指标的奖项。星球奖系统囊括品牌建设的核心板块&…

【C语言】你知道程序是如何调用函数的吗?

目录 1.函数栈帧的含义 概念 要用到的汇编语言的知识 示例 2.理解栈帧 2.1 main函数栈帧的创建 2.2 局部变量的创建 2.3 函数传参 2.4 调用函数 2.5 函数返回 一个.c文件在调用函数的时候&#xff08;包括main 函数&#xff09;&#xff0c;其内存中的栈区有什么变…

祝贺誉天多位学员通过HCIE-Datacom,喜提誉天助跑奖学金

华为HCIE-Datacom自发布以来&#xff0c;就一直牵动着数通学员们的心。不论是版本之间的取舍&#xff0c;还是新增模块的学习&#xff0c;都一度引发热议。为了帮助各位小伙伴完成过渡顺利通过考试&#xff0c;誉天除了在师资、设备、教研等方面下足功夫之外&#xff0c;还专门…

12. 【gRPC系列学习】失败重试Retry原理

本节分析gRPC的失败重试机制,从原理、源码上进行深入分析,下节编写测试代码,验证Retry机制。 官方文档在失败重试方面的讲解比较透彻,下面内容是对官方文档的整理、归类、总结。 1. 两种重试策略简介 1)retry策略 retry策略:发送RPC,服务端应用层返回指定的异常码后,…

ES6--》了解并使用模块化规范

目录 ES6模块化规范 模块化的分类 ES6模块化的语法 ES6模块化规范 ES6模块化规范是浏览器端与服务器端通用的模块化开发规范。它的出现极大的降低了前端开发者的模块化学习成本&#xff0c;开发者不需要再额外的学习AMD、CMD或CommonJS等模块化规范。 ES6模块化规范定义&am…

激活海量数据价值,实现生产过程优化

背景 在全球掀起的新一轮工业转型浪潮中&#xff0c;智能制造面临巨大发展机遇。得益于云计算、大数据和人工智能技术的加持&#xff0c;工业转型升级进入新阶段&#xff0c;人们逐渐意识到由数据驱动催生的新商业模式所带来的巨大价值&#xff0c;数据和算法模型的结合与碰撞…

KMP算法,686. 重复叠加字符串匹配,

首先&#xff0c;要明白&#xff0c;如果b串的第一个字母b[0]在a串中没有找到&#xff0c;那么不管a串复制多少次&#xff0c;b串都不会是a的子串。 如果b串的第一个字母b[0]在a串中能找到&#xff0c;那么我们看一下a串需要复制几次呢&#xff1f; 总结,可以发现这四种情况是…

数据库系统概论第六章(关系数据理论)知识点总结(3)—— 范式知识点总结

本专栏收录了数据库的知识点&#xff0c;而从本文起&#xff0c;将讲述有关于关系数据理论中的第一范式、第二范式、第三范式以及BC范式有关知识点&#xff0c;提供给有需要的小伙伴进行学习&#xff0c;本专栏地址可以戳下面链接查看 &#x1f388; 数据库知识点总结&#xff…

windows CMD “ZEBAR ZPL 命令打印“驱动打印机

一、命令预览 copy WS20_8891898136BB520221221003.txt "\\10.165.98.33\IP-print-ZDesigner ZT411-203dpi ZPL" 二、难点打印机名称 1. copy 命令必须为共享打印机&#xff0c;及打印机共享名称&#xff0c;可以参考(163条消息) 发送ZPL指令到斑马打印机&#xff…

【Java对象拷贝机制】「实战开发专题」高性能使用CGlib实现Bean拷贝(BeanCopier)指南

对象拷贝现状 业务系统中经常需要两个对象进行属性的拷贝&#xff0c;不能否认逐个的对象拷贝是最快速最安全的做法&#xff0c;但是当数据对象的属性字段数量超过程序员的容忍的程度&#xff0c;代码因此变得臃肿不堪&#xff0c;使用一些方便的对象拷贝工具类将是很好的选择…

训练seq2seq模型的一些Tips——李宏毅机器学习笔记

Copy Mechanism 有时我们并不需要decoder创造一些东西出来&#xff0c;有些内容是可以从encoder复制而来。 最早具有复制能力的模型&#xff1a;Pointer Network 例如&#xff1a; chat-bot Summarization 至少要训练百万篇文章 Guided Attention Monotonic Attention Lo…

PPT怎么转化成PDF?这两种方法教你快速解决!

今天我们将向您介绍如何将 PowerPoint 演示文稿 (PPT) 转换为 PDF 文件。 我们将通过两种方法来做到这一点&#xff1a; 将 PowerPoint 演示文稿另存为 PDF 文件。使用 奇客免费PDF转换 将 PowerPoint 演示文稿转换为 PDF。方法一&#xff1a;使用 Microsoft PowerPoint 将 P…

合理利用chatGpt之新冠阳性

&#x1f3c6;今日学习目标&#xff1a; &#x1f340;合理利用chatGpt之新冠阳性 ✅创作者&#xff1a;林在闪闪发光 ⏰预计时间&#xff1a;30分钟 &#x1f389;个人主页&#xff1a;林在闪闪发光的个人主页 &#x1f341;林在闪闪发光的个人社区&#xff0c;欢迎你的加入:…

AI 预测到了正确的世界杯胜利者吗 ?

在过去的一个月里&#xff0c;卡塔尔 2022 年世界杯让我们目睹了一个又一个令人震惊的结果&#xff0c;甚至在决赛之前&#xff0c;让所有人的目光都聚焦在法国和阿根廷两支球队上&#xff0c;其实在球迷们心中&#xff0c;早就开始了各种猜测。&#x1f604;现在是时候回顾一下…

基于CNN和LSTM的气象图降水预测示例

我们是否可以通过气象图来预测降水量呢&#xff1f;今天我们来使用CNN和LSTM进行一个有趣的实验。 我们这里使用荷兰皇家气象研究所(也称为KNMI)提供的开放数据集和公共api&#xff0c;来获取数据集并且构建模型预测当地的降水量。 数据收集 KNMI提供的数据集&#xff0c;我…

excel函数公式大全,最常用的6个公式

Excel中的函数引用一些预定义的公式&#xff0c;可以通过输入参数值来计算函数的对应函数&#xff0c;并且函数名称基本上与函数相对应&#xff0c;这很容易记住。在日常工作中&#xff0c;功能可用于数据统计、计算、处理和分析。本文主要介绍EXCEL中一些常用公式&#xff0c;…

视唱练耳训练小程序开发,摆脱传统训练制约性

视唱练耳作为一门综合性的音乐基础理论学科&#xff0c;对于声乐、器乐、舞蹈等音乐学科中的各个方面都起着十分重要的作用&#xff0c;尤其是突出表现在基本理论、基本技能和音乐审美上&#xff0c;对培养和发展学生的乐感、唱奏技巧以及音乐思维等都有着非常重要的意义。世界…

Databend 开源周报 #71

Databend 是一款强大的云数仓。专为弹性和高效设计&#xff0c;自由且开源。 即刻体验云服务&#xff1a;https://app.databend.com。 What’s New 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 Features & Improvements Planner 优化集群模…

简单易用的监控告警系统 | HertzBeat 在 Rainbond 上的使用分享

在现有的监控告警体系中 Prometheus AlertManger Grafana 一直是主流&#xff0c;但对于中小团队或个人来说&#xff0c;这种体系显的较为复杂。而 HertzBeat 能让中小团队或个人很快速的搭建监控告警系统&#xff0c;并通过简单的配置实现应用、数据库、操作系统的监控与告警…