#CF2040E. 随机性控制

    ID: 6999 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 8 上传者: 标签>概率论随机化其他数学贪心搜索树结构组合数学*2100

随机性控制

E. 随机性控制
每个测试的时间限制:2 秒
内存限制:256 兆字节

你有一棵包含 nn 个顶点的树。

假设我们把机器人放在某个顶点 v1v \neq 1 上,初始时有 pp 枚硬币。考虑以下过程,在第 ii 步(从 i=1i=1 开始):

  • ii 是奇数,机器人向顶点 11 的方向移动到相邻顶点;
  • ii 是偶数,你可以选择:
    • 若还有硬币剩余,支付一枚硬币,然后机器人向顶点 11 的方向移动到相邻顶点;
    • 或不支付硬币,则机器人随机均匀地移动到一个相邻顶点。

当机器人到达顶点 11 时,过程结束。
f(v,p)f(v,p)最优使用硬币的情况下,上述过程中期望步数的最小可能值

你需要回答 qq 个查询,在第 ii 个查询中,求出 f(vi,pi)f(v_i, p_i) 的值,并对 998244353998244353 取模 ^*


输入

每个测试包含多个测试用例。第一行包含测试用例的数量 tt1t1031 \le t \le 10^3)。

每个测试用例的描述如下:

  • 第一行包含两个整数 nnqq2n21032 \le n \le 2 \cdot 10^31q21031 \le q \le 2 \cdot 10^3)—— 树的顶点数和查询数。
  • 接下来 n1n-1 行,每行包含一条边 uiu_iviv_i1ui,vin1 \le u_i, v_i \le nuiviu_i \neq v_i)。
  • 接下来 qq 行,每行包含两个整数 viv_ipip_i2vin2 \le v_i \le n0pin0 \le p_i \le n)。

保证:

  • 给定的边构成一棵树。
  • 所有测试用例的 nn 之和 2103\le 2\cdot 10^3
  • 所有测试用例的 qq 之和 2103\le 2\cdot 10^3

输出

对于每个测试用例,输出 qq 个整数:f(vi,pi)f(v_i, p_i)998244353998244353 取模后的值。

形式化定义:
M=998244353M = 998244353。可以证明答案为不可约分数 pq\frac{p}{q},其中 p,qp,q 为整数且 q≢0(modM)q \not\equiv 0 \pmod{M}
输出整数 xx 满足 0x<M0 \le x < Mxqp(modM)x \cdot q \equiv p \pmod{M}


示例

输入:

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
6
6
2
4
9
8
15
2
3
6
9
5
5

注释

第一个测试用例的树结构:

  • 第一个查询:期望值为 11,因为机器人从顶点 22 出发,第一步就向顶点 11 移动并结束。
  • 第二个查询(v=3,p=0v=3, p=0):
    距离顶点 1122,机器人不可能在少于 22 步内到达。
    计算得 f(3,0)=6f(3,0) = 6

第二个测试用例的树结构见题目原图。