luogu#P16019. [ICPC 2021 NAC] Permutation CFG
[ICPC 2021 NAC] Permutation CFG
题目描述
考虑 到 的一个排列。现在,将 到 的每个数字视为一个 上下文无关文法(CFG)中的非终结符。每个数字 会展开为从 到 的整数列表,其顺序由该排列决定。例如,若 且排列为 :
$$\begin{aligned} 1 & \Longrightarrow 1 \\ 2 & \Longrightarrow 1\ 2 \\ 3 & \Longrightarrow 1\ 3\ 2 \\ 4 & \Longrightarrow 1\ 4\ 3\ 2 \end{aligned}$$现在考虑如下过程:从 开始,每一步都应用上述规则,将当前列表中的每个数字替换为其对应的展开式,从而得到一个新的整数列表。在上面的例子中,第一步的结果为:
第二步的结果为:
$$\overbrace{1}^{1}\ \overbrace{1\ 4\ 3\ 2}^{4}\ \overbrace{1\ 3\ 2}^{3}\ \overbrace{1\ 2}^{2}$$第三步的结果为:
$$\overbrace{1}^{1}\ \overbrace{1}^{1}\ \overbrace{1\ 4\ 3\ 2}^{4}\ \overbrace{1\ 3\ 2}^{3}\ \overbrace{1\ 2}^{2}\ \overbrace{1}^{1}\ \overbrace{1\ 3\ 2}^{3}\ \overbrace{1\ 2}^{2}\ \overbrace{1}^{1}\ \overbrace{1\ 2}^{2}$$给定一个排列、执行的步数,以及若干询问,每个询问要求回答在过程最终生成的列表中,某个特定整数在列表前若干个位置中出现的次数。请回答所有询问。
输入格式
输入的第一行包含三个整数 ()、()和 (),其中 是排列的长度, 是过程执行的步数, 是询问的数量。
接下来 行,每行包含一个整数 ()。这些数按顺序构成给定的排列。所有 的值互不相同。
接下来 行,每行包含两个整数 ()和 (,且 不会超过最终列表的长度)。这是一个询问,要求回答在过程生成的列表中,前 个元素中整数 出现的次数。
输出格式
输出 行,每行一个整数,按输入顺序依次输出每个询问的答案。
4 3 6
1
4
3
2
1 6
2 20
4 1
3 5
2 9
1 1
3
6
0
1
2
8
提示
翻译由 DeepSeek V3.2 完成