#ATarc170e. [ARC170E] BDFS

[ARC170E] BDFS

题目描述

给定整数 N,PN, P

有一个 NN 个顶点 NN 条边的图,顶点编号为 11NN。第 ii 条边连接顶点 ii 和顶点 i+1i+1,是双向的。这里顶点 N+1N+1 代表顶点 11

请执行以下算法,得到一个长度为 NN 的数列 D=(D1,D2,,DN)D=(D_1, D_2, \ldots, D_N)

  • 令长度为 NN 的整数列 D=(D1,,DN)=(1,,1)D = (D_1, \ldots, D_N) = (-1, \ldots, -1)。同时,令数对序列 Q=((1,0))Q = ((1, 0))。只要 QQ 非空,重复以下操作:

    • 取出 QQ 的首元素 (v,d)(v, d),并将其从 QQ 中删除。
    • 如果 Dv=1D_v = -1,则令 Dv:=dD_v := d,并对与顶点 vv 相邻且满足 Dx=1D_x = -1 的每个顶点 xx,按顶点编号从小到大依次进行如下操作:
      1. 以概率 P100\frac{P}{100},将 (x,d+1)(x, d+1) 加入 QQ首部
      2. 若未将 (x,d+1)(x, d+1) 加入 QQ 的首部,则将其加入 QQ尾部

最终得到的 DD 的所有元素之和的期望值,模 998244353998244353 后输出。

给定 TT 组测试数据,请分别输出每组的答案。

期望值 mod 998244353\bmod\ 998244353 的定义:可以证明,所求期望值一定是有理数。在本题的约束下,若将其表示为最简分数 PQ\frac{P}{Q},则 QQ 保证不被 998244353998244353 整除。此时,唯一存在一个 00998244352998244352 之间的整数 RR 满足 R×QP(mod998244353)R \times Q \equiv P \pmod{998244353}。请输出这个 RR 作为答案。

输入格式

输入按以下格式从标准输入给出。

TT
case1\mathrm{case}_1
\vdots
caseT\mathrm{case}_T

每组数据格式如下:

N PN\ P

输出格式

输出 TT 行,第 ii 行输出第 ii 组测试数据的答案。

样例 1

输入

3
3 50
4 1
1000000000000000000 70

输出

499122179
595552585
760296751

说明/提示

数据范围

  • 1T1041 \leq T \leq 10^4
  • 3N10183 \leq N \leq 10^{18}
  • 1P991 \leq P \leq 99
  • 输入的所有数均为整数

样例解释 1

对于第 11 组测试数据,算法的执行过程例如如下:

  • 初始时,D=(1,1,1), Q=((1,0))D = (-1, -1, -1),\ Q = ((1, 0))。取出 QQ 首元素 (1,0)(1, 0)
  • 因为 D1=1D_1 = -1,令 D1:=0D_1 := 0。与顶点 11 相邻且 Dx=1D_x = -1 的顶点为 2,32, 3
  • (2,1)(2, 1) 加入 QQ 首部,将 (3,1)(3, 1) 加入 QQ 尾部。此时 Q=((2,1),(3,1))Q = ((2, 1), (3, 1))
  • 取出 QQ 首元素 (2,1)(2, 1)
  • 因为 D2=1D_2 = -1,令 D2:=1D_2 := 1。与顶点 22 相邻且 Dx=1D_x = -1 的顶点为 33
  • (3,2)(3, 2) 加入 QQ 首部。此时 Q=((3,2),(3,1))Q = ((3, 2), (3, 1))
  • 取出 QQ 首元素 (3,2)(3, 2)
  • 因为 D3=1D_3 = -1,令 D3:=2D_3 := 2。与顶点 33 相邻且 Dx=1D_x = -1 的顶点不存在,不做任何操作。
  • 取出 QQ 首元素 (3,1)(3, 1)
  • 因为 D3=2D_3 = 2,不做任何操作。
  • QQ 为空,算法结束。

此时最终 D=(0,1,2)D = (0, 1, 2)。上述过程发生的概率为 18\frac{1}{8}DD 的元素和的期望值为 52\frac{5}{2}

由 ChatGPT 4.1 翻译