P3613 【深基15.例2】寄包柜 (蒟蒻求助)
  • 板块题目总版
  • 楼主wzx000000
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/9/3 18:00
  • 上次更新2023/11/2 22:51:17
查看原帖
P3613 【深基15.例2】寄包柜 (蒟蒻求助)
767880
wzx000000楼主2023/9/3 18:00

//题目

【深基15.例2】寄包柜

题目描述

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

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

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

输入格式

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

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

输出格式

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

样例 #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}:新增加一组 Hack 数据。

//错误代码 #include <bits/stdc++.h> using namespace std;

int n,q,x; int i,j,k; vector< vector > vis(n+1);

int main(){ cin>>n>>q; for(int p=1; p<=q; p++){ cin>>x; if(x==1){ cin>>i>>j>>k; if(vis[i].size()<j+1) vis[i].resize(j+1); vis[i][j] = k; } else{ cin>>i>>j; cout<<vis[i][j]<<endl; } } return 0; }

他这个不知道为啥只运行一次 向大神求助

2023/9/3 18:00
加载中...