#1543. [ABC228D] Linear Probing

[ABC228D] Linear Probing

题目描述

维护一个长度为 2202^{20} 的,下标从 0022012^{20}-1 的数列 aa。初始时,数列中的每一项均为 1-1。令 n=220n=2^{20}

给定 qq 次操作,每次操作内容如下:

  • 1 x:将变量 hh 的值定为 xx。将 hh 不断加 11 直到 ahmodn=1a_{h \bmod n} = -1 为止。令 ahmodna_{h \bmod n} 的值为 xx
  • 2 x:输出 axmodna_{x \bmod n} 的值。

输入格式

第一行输入一个整数 qq

接下来 qq 行每行两个整数 op,xop,x,其中 op(1,2)op\in(1,2)

输出格式

输出若干行,对于每个询问 22 回答一个答案。

4
1 1048577
1 1
2 2097153
2 3
1048577
-1

提示

  • 1q2×1051 \le q \le 2 \times 10^50xi10180 \le x_i \le 10^{18}
  • 至少存在一个形如2 x的操作;
  • 输入均为整数。

Sample Explanation 1

我们有 x1modN=1x_1 \bmod N = 1 ,因此第一个查询设置为 A1=1048577A _1 = 1048577

在第二个查询中,最初我们有 h=x2h = x_2 ,其中有 AhmodN=A11A_{h \bmod N} = A_{1} \neq -1 ,因此我们在 hh 中添加 11 。现在我们有 AhmodN=A2=1A_{h \bmod N} = A_{2} = -1 ,因此该查询设置了 A2=1A_2 = 1

在第三个查询中,我们打印 Ax3modN=A1=1048577A_{x_3 \bmod N} = A_{1} = 1048577

在第四个查询中,我们打印 Ax4modN=A3=1A_{x_4 \bmod N} = A_{3} = -1

请注意,在这个问题中, N=220=1048576N = 2^{20} = 1048576 是一个常量,并没有在输入中给出。