首页 > 其他分享 >洛谷题单指南-线性表-P3613 【深基15.例2】寄包柜

洛谷题单指南-线性表-P3613 【深基15.例2】寄包柜

时间:2024-03-11 09:58:26浏览次数:32  
标签:10 15 线性表 int 洛谷题 cin 包柜 vector op

原题链接:https://www.luogu.com.cn/problem/P3613

题意解读:此题很容易想成用二维数组求解,但是最多有10^5 * 10^5个寄包柜格子,二维数据会爆空间,题目明确各自一共不超过10^7,所以需要动态数据结构vector。

解题思路:

vector的问题在于需要提前明确空间大小,才能进行随即访问操作,否则可能导致下标越界,

这里就要用到一个重要的操作resize(),可以设定vector的数据长度,这样就保证了通过下标访问时不会越界。

100分代码:

#include <bits/stdc++.h>
using namespace std;

const int N = 100005;

vector<int> a[N];
int n, q;

int main()
{
    cin >> n >> q;

    int op, i, j, k;
    while(q--)
    {
        cin >> op;
        if(op == 1)
        {
            cin >> i >> j >> k;
            if(a[i].size() < j + 1) a[i].resize(j + 1);
            a[i][j] = k;
        }
        else
        {
            cin >> i >> j;
            cout << a[i][j] << endl;
        }
    }

    return 0;
}

 

标签:10,15,线性表,int,洛谷题,cin,包柜,vector,op
From: https://www.cnblogs.com/jcwy/p/18065394

相关文章

  • 洛谷题单指南-线性表-P3156 【深基15.例1】询问学号
    原题链接:https://www.luogu.com.cn/problem/P3156解题思路:简单的数组题,唯一需要注意的是读写的数据量比较大,输入输出最好用scanf、printf100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=2e6+5;inta[N],n,m;intmain(){scanf("%d%d",&......
  • CF1599
    CF1599BubbleCup14-FinalsOnlineMirror(Unrated,ICPCRules,TeamsPreferred,Div.1)CF1599Alink题意给你一个长度为\(N\)的质量为\(A_1,A_2,\dots,A_N\)的数组\(A\)。每个数组中的值表示各个砝码的重量。所有砝码的质量均不相同。你可以把每个砝码放在天平......
  • LeetCodeHot100 283. 移动零 11. 盛最多水的容器 15. 三数之和 42. 接雨水
    283.移动零https://leetcode.cn/problems/move-zeroes/description/?envType=study-plan-v2&envId=top-100-likedpublicvoidmoveZeroes(int[]nums){intr=0;for(inti=0;i<nums.length;i++){if(nums[i]!=0){......
  • vs2019单独重新安装python37_64失败解决办法(bilibili上我最早写的是https://www.bilib
    上个周末的时候,我发现用vs2019编写python的时候。代码高亮出现了奇怪的问题,进入解决方案的时候,print还是蓝色的,但是过了几秒钟后就变为黑色了,因此在最开始的时候我试图通过换一个皮肤和在管理扩展里面找扩展来解决,但是还是有相关问题。于是到vs2019对应的python文件夹找问题,目录是......
  • 学java15结构
    1.顺序结构java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。2.选择结构if单选择结......
  • Gym-101915D 题解
    D给定一张图,分为左右各\(P\)个点,左右各自内部是一个完全图,左右之间有\(m\)条边。求这个图的最大团。\(P\le20,m\leP^2\)。对于每个右部点,求出一个长度为\(20\)的二进制数,第\(i\)位是\(1\)表示它与左部第\(i\)点有连边。枚举右部点的子集\(S\),将它们的二进制数......
  • abc156D 带朵数限制的不同扎花方案数
    cfy有n种花,每种各1朵,需要从中选出1种或多种来扎成花束,要求花的朵数不能是a或b,问可以制作多少种不同的花束?结果对1E9+7取模。2<=n<=1E9;1<=a<b<=min(n,2E5)每朵花都有选与不选两种情况,去掉都不选的情况,共2^n-1种方案。然后再减掉选a种和选b种的情况,方案数分别为C(n,a)和C(n,b),这......
  • 15_编写第一个自己的Linux的命令
    编写第一个自己的Linux的命令1.什么是命令?命令就是可执行程序。比如ls-al命令ls就是程序的名字al就是参数ps命令:功能:显示进程的动态。2.定义一个自己的命令给自己的gcc生成的可执行文件的路径添加到$PATH环境变量中,就可以在任何地方都可以使用这个可执行文件......
  • 153. 寻找旋转排序数组中的最小值(中)
    目录题目题解:二分题目已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组。例如,原数组nums=[0,1,2,4,5,6,7]在变化后可能得到:若旋转4次,则可以得到[4,5,6,7,0,1,2]若旋转7次,则可以得到[0,1,2,4,5,6,7]注意,数组[a[0],a[1],a[2],...,a......
  • 第15章_存储过程与函数
    第15章_存储过程与函数讲师:尚硅谷-宋红康(江湖人称:康师傅)官网:http://www.atguigu.comMySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可。1.存储过......