AT_abc228_d.[ABC228D] Linear Probing
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个长度为 N=220 的数列 A=(A0,A1,…,AN−1)。初始时,所有元素均为 −1。
请依次处理 Q 个查询。第 i 个查询由整数 ti(ti=1 或 ti=2)和整数 xi 给出,具体内容如下:
- 当 ti=1 时,依次进行以下操作:
- 令整数 h=xi。
- 当 AhmodN=−1 时,不断将 h 的值加 1。在本题的约束下,可以证明此操作会在有限次内结束。
- 用 xi 替换 AhmodN 的值。
- 当 ti=2 时,输出当前 AximodN 的值。
其中,对于整数 a,b,amodb 表示 a 除以 b 的余数。
输入格式
输入按以下格式从标准输入给出。
Q
t1 x1
⋮
tQ xQ
输出格式
对于每个 ti=2 的查询,依次输出答案,每个答案占一行。保证至少存在一个 ti=2 的查询。
输入输出样例
输入#1
4 1 1048577 1 1 2 2097153 2 3
输出#1
1048577 -1
说明/提示
限制条件
- 1≤Q≤2×105
- ti∈{1,2}(1≤i≤Q)
- 0≤xi≤1018(1≤i≤Q)
- 至少存在一个 ti=2 的查询。
- 输入均为整数。
样例解释 1
由于 x1modN=1,所以第 1 个查询后 A1=1048577。
第 2 个查询时,初始 h=x2,但 AhmodN=A1=−1,因此 h 增加 1,此时 AhmodN=A2=−1,所以本次查询后 A2=1。
第 3 个查询时,输出 Ax3modN=A1=1048577。
第 4 个查询时,输出 Ax4modN=A3=−1。
注意,本题中 N=220=1048576 是常数,输入中不会给出。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?