A101176.Control of Randomness

提高+/省选-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

定一棵树,树上有 $ n $ 个顶点。

我们在某个顶点 $ v \ne 1 $ 放置一个机器人,最初拥有 $ p $ 枚硬币。以下是机器人的移动规则:

  • 当 $ i $ 为奇数时,机器人会向顶点 $ 1 $ 的方向移动到相邻的节点。
  • 当 $ i $ 为偶数时,如果你愿意支付一枚硬币并且还有剩余的硬币,则机器人会向顶点 $ 1 $ 的方向移动到相邻的节点;否则,机器人将随机选择一个相邻的节点移动。

当机器人到达顶点 $ 1 $ 时,过程终止。记 $ f(v, p) $ 为通过最佳策略使用硬币时,使得上述过程的期望步数最小值。

你的任务是解决 $ q $ 个查询。每个查询包含一对 (vi,pi)(v_i, p_i),你需要计算 $ f(v_i, p_i) $ 模 $ 998,244,353 $ 的值。

具体来说,令 $ M = 998,244,353 $。结果可以表示为一个不可约分数 $ \frac{p}{q} $,其中 $ p $ 和 $ q $ 是整数且 $ q \not\equiv 0 \pmod{M} $。你需要输出 $ p \cdot q^{-1} \bmod M $。换句话说,输出满足 $ 0 \le x < M $ 且 $ x \cdot q \equiv p \pmod{M} $ 的整数 $ x $。

输入格式

输入包含多个测试用例。第一行为测试用例的数量 $ t $ ($ 1 \le t \le 10^3 $)。

对于每个测试用例,第一行包含两个整数 $ n $ 和 $ q 2 \le n \le 2000 1 \le q \le 2000 $),分别表示树的顶点数和查询数量。

接下来的 $ n - 1 $ 行每行描述一条树的边,包含两个整数 $ u_i $ 和 $ v_i $ ($ 1 \le u_i, v_i \le n u_i \neq v_i $),表示节点 $ u_i $ 和 $ v_i $ 之间有一条边。

接下来的 $ q $ 行中每行包含两个整数 $ v_i $ 和 $ p_i 2 \le v_i \le n 0 \le p_i \le n $),表示每个查询的节点和初始硬币数。

保证输入的边构成一棵树,并且所有测试用例的 $ n $ 之和不超过 $ 2000 q $ 之和不超过 $ 2000 $。

输出格式

对于每个测试用例,输出 $ q $ 个整数,表示每个查询 $ f(v_i, p_i) $ 模 $ 998,244,353 $ 的结果。

形式上,令 $ M = 998,244,353 $。可以证明答案可以表示为不可约分数 $ \frac{p}{q} $,其中 $ p $ 和 $ q $ 是整数且 $ q \not\equiv 0 \pmod{M} $。输出满足 $ 0 \le x < M $ 且 $ x \cdot q \equiv p \pmod{M} $ 的整数 $ x $。

输入输出样例

  • 输入#1

    2
    4 4
    1 2
    2 3
    2 4
    2 0
    3 0
    4 0
    3 1
    12 10
    1 2
    2 3
    2 4
    1 5
    5 6
    6 7
    6 8
    6 9
    8 10
    10 11
    10 12
    6 0
    9 0
    10 0
    11 0
    3 1
    7 1
    10 1
    12 1
    12 2
    11 12

    输出#1

    1
    6
    6
    2
    4
    9
    8
    15
    2
    3
    6
    9
    5
    5

说明/提示

在第一个测试用例中,树的结构如下:

第一个查询中,期望值为 $ 1 $,因为机器人从顶点 $ 2 $ 出发,一步就到达了顶点 $ 1 $,过程结束。

第二个查询中的期望步数计算如下($ x $ 为步数):

  • $ P(x < 2) = 0 $,因为距离顶点 $ 1 $ 是 $ 2 $,机器人无法在更少的步数内到达。
  • $ P(x = 2) = \frac{1}{3} $,因为只有一种步骤序列使 $ x = 2 $。即 $ 3 \rightarrow_{1} 2 \rightarrow_{0.33} 1 $,概率为 $ 1 \cdot \frac{1}{3} $。
  • $ P(x \bmod 2 = 1) = 0 $,因为机器人只能通过偶数步数到达顶点 $ 1 $。
  • $ P(x = 4) = \frac{2}{9} $:可能路径为 $ 3 \rightarrow_{1} 2 \rightarrow_{0.67} [3, 4] \rightarrow_{1} 2 \rightarrow_{0.33} 1 $。
  • $ P(x = 6) = \frac{4}{27} $:可能路径为 $ 3 \rightarrow_{1} 2 \rightarrow_{0.67} [3, 4] \rightarrow_{1} 2 \rightarrow_{0.67} [3, 4] \rightarrow_{1} 2 \rightarrow_{0.33} 1 $。
  • 一般情况下,$ P(x = i \cdot 2) = \frac{2^{i - 1}}{3^i} $。

因此,$ f(v, p) = \sum_{i=1}^{\infty}{i \cdot 2 \cdot \frac{2^{i - 1}}{3^i}} = 6 $。

第二个测试用例中,树的结构如下:

首页