A106403.小午的哈希表

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

小午有一个长度为 n=220n = 2^{20} 的数组 aa ,最初,所有的元素都为 −1-1 。

小枫要对这个数组进行 qq 次查询,每次查询都会给出 opop (op=1(op=1 或 op=2)op=2) 和 xx ,具体如同如下:

  • 若 op=1op=1 ,则需要依次进行以下所有操作:
    1. 令 pos=xpos=x 。
    2. 当 apos mod n≠−1a_{pos\ mod\ n} \neq -1 时,让 pospos 不断加 11 ,直到 apos mod n=−1a_{pos\ mod\ n} = -1 为止。
    3. 将 apos mod na_{pos\ mod\ n} 的值设置为 xx 。
  • 若 op=2op=2 ,则输出当前 apos mod na_{pos\ mod\ n} 的值。

这里对于整数 a,ba,b ,a mod ba\ mod\ b 表示 aa 除以 bb 的余数。

输入格式

第一行输入一个整数 qq (1≤q≤2×105)(1\leq q\leq 2\times 10^5) ,表示查询次数。

接下来 qq 行,每行两个整数 op,xop,x (op=1(op=1 或 op=2,0≤x≤1018)op=2, 0\leq x\leq 10^{18}) ,含义见题面所述。

输出格式

对于每个 op=2op=2 的查询,依次输出答案,每个答案占一行。

输入输出样例

  • 输入#1

    4
    1 1048577
    1 1
    2 2097153
    2 24

    输出#1

    1048577
    -1

输入解题思路,AI测评打分。不知道怎么写?

首页