#JXGQ203D. 强哥的数字塔指令

    ID: 3737 传统题 文件IO:ya 1000ms 256MiB 尝试: 419 已通过: 59 难度: 8 上传者: 标签>数学STL容器字符串算法基础普及-双指针

强哥的数字塔指令

问题陈述

在一个遥远的数字王国,强哥作为一名传奇的编码大师,接受了一项终极挑战——解开数字之塔的秘密。传说中,数字之塔是一个神秘的存在,掌控着整个王国的命运,它能够操纵无穷的数字力量。为了拯救数字王国,强哥需要与塔中的“数字精灵”进行互动,通过一系列的指令来控制塔内的数字核心。

在数字之塔的中心,存在着一个古老的​数字序列 S​,序列的最初形态为 1。强哥将通过一系列操作来改变这个序列,并利用序列的力量,破解隐藏在塔中的密码。然而,每次操作都受限于塔的规则,且序列的大小会不断膨胀,最终的目标是利用序列中的数字破解塔的终极密码——​与神秘数 998244353998244353 相关的余数​。

数字塔的规则:

强哥将面对 QQ 次指令,每次指令可以是以下三种之一:

  1. 添加数字​:
    • 强哥可以向序列 SS 的末尾添加一个数字。这是强哥使用“增序术”与数字精灵沟通时的效果。操作命令为:1 x,其中 xx 是要添加的数字。
  2. 删除数字​:
    • 强哥也可以使用“消序术”,将序列 $S$ 的第一个数字从塔中移除。这个过程会让塔的能量重新分配,确保序列的平衡。操作命令为:2
  3. 查询神秘余数​:
    • 最重要的操作是“余数探知术”,它能够通过神秘的数 998244353998244353 来检测当前数字序列的特性,并返回序列除以 998244353998244353 的余数。这个余数对于破解塔的密码至关重要。操作命令为:3,表示强哥需要查询当前序列 SS 除以 998244353998244353 的余数。

数据范围

  • 1Q6×1051 \leq Q \leq 6 \times 10^5
  • 11 xx 为操作种类 11x{1,2,3,4,5,6,7,8,9}x \in \{1,2,3,4,5,6,7,8,9\}
  • 22 用于 SS 为 两个及以上字符时才给出的操作。
  • 33SS 的字符个数至少有一个时,才可能会进行该操作。

输入(ya.in)

从文件 ya.in 中读入数据。

输入通过标准输入,格式如下。

QQ

query1\mathrm{query}_1

\vdots

queryQ\mathrm{query}_Q

其中 queryi\mathrm{query}_i 代表第 ii 个操作。

输出(ya.out)

输出到文件 ya.out 中。

输出每次操作 33 时的查询结果。

3
3
1 2
3
1
12

在第 11 次操作中, SS 是 "1"(等于 11 除以 998244353998244353 的余数),因此输出是 11

在第 22 次操作中, SS 是 "12"。

在第 33 次操作中, SS 是 "12",因此输出 1212 (等于 1212 除以 998244353998244353 的余数)。

3
1 5
2
3
5