#P15759. [JAG 2025 Summer Camp #1] Walking on Binary Tree

[JAG 2025 Summer Camp #1] Walking on Binary Tree

说明

给定一棵无限完全二叉树,其顶点用正整数标记。根节点为顶点 11,对于每个顶点 xxx2x \geq 2),其父节点是 x2\left\lfloor \frac{x}{2} \right\rfloor

同时给定一个长度为 NN 的字符串 S=S0S1SN1S = S_0 S_1 \ldots S_{N-1}SS 的每个字符是 LR

考虑以下过程:你当前位于某个顶点 uu,希望通过在树中反复移动到达顶点 vv

在第 ii 次移动(从 1 开始计数)时,假设你位于顶点 xx。你可以选择以下移动之一:

向下移动: 如果 S(i1)modNS_{(i-1) \bmod N}L,则移动到顶点 2x2x。否则,移动到顶点 2x+12x + 1

向上移动: 仅当 x2x \geq 2 时可以选择。移动到顶点 x2\left\lfloor \frac{x}{2} \right\rfloor

注意,你不能停留在同一个顶点。

给定 QQ 个独立的询问。在第 ii 个询问中,你从顶点 uiu_i 出发,想要到达顶点 viv_i

对于每个询问,判断是否可能从 uiu_i 到达 viv_i。如果可能,求出所需的最少移动次数。

输入格式

输入格式如下:

$$\begin{aligned} & N \\ & S \\ & Q \\ & u_1 \ v_1 \\ & u_2 \ v_2 \\ & \vdots \\ & u_Q \ v_Q \end{aligned}$$
  • 1N1061 \leq N \leq 10^6
  • 1Q2000001 \leq Q \leq 200\,000
  • 1ui,vi10181 \leq u_i, v_i \leq 10^{18} (1iQ1 \leq i \leq Q)
  • NNQQuiu_iviv_i 是整数。
  • SS 是一个长度为 NN 的字符串,由 LR 组成。

输出格式

输出 QQ 行。在第 ii 行,如果可以从 uiu_i 到达 viv_i,则输出所需的最少移动次数;否则输出 -1

5
LLRLR
3
1 12
9 2
913 2025
7
2
23
1
L
1
1 3
-1

提示

翻译由 DeepSeek V3.2 完成