方奶奶打牌

时间限制: 1000 ms 内存限制: 131072 kb
总通过人数: 0 总提交人数: 0

题目描述

众所周知,方伯伯 喜欢打扑克。无巧不成书,方奶奶 也喜欢打牌,而且打的不是普通的牌。

方奶奶 有 $n$ 种不同类型的牌,第 $i$ 种类型的牌的数量为 $a_i$。

游戏的规则十分简单:

  • 方奶奶 每一轮选择当前场面存在的一张牌,然后将与选择的这张牌类型相同的所有牌都删掉;
  • 当第一种类型的牌不存在于场面上的时候,游戏就结束了。

方奶奶 经常打牌,又不希望重复的局面太多而感到厌倦。

因此她使用了一个强大的随机黑箱来生成每次游戏的局面,并且游戏中的每次选择也都是等概率随机选择的。

随机黑箱的具体功能介绍如下:

  • 除第一种牌的数量固定为 $a_1$ 之外,每一种牌的数量都是在一个范围内等概率随机生成的,第 $i$ $(i \geq 2)$ 种牌的数量 $a_i \in [{low}_i, {up}_i]$。

打了很久很久的牌之后,方奶奶 突然想要知道,她每局游戏删掉的牌的数量的期望值是多少。

为了避免精度误差,请你给出答案对 $998244353$ (一个质数)取模的结果。换句话说,假设答案是 $\displaystyle\frac{x}{y}$,并且有 $y z \equiv 1 \pmod{998244353}$,那么你只需要给出 $x z$ 对 $998244353$ 取模的结果。

输入

第一行包含一个正整数 $T$,表示有 $T$ 组测试数据。

接下来依次给出每组测试数据。

每组测试数据共两行,其中:

第一行包含两个正整数 $n$ 和 $a_1$,含义见题目描述。

第二行包含 $2 (n - 1)$ 个正整数,从左到右依次为 ${low}_2,$ ${up}_2,$ ${low}_3,$ ${up}_3,$ $\cdots,$ ${low}_n,$ ${up}_n$,含义见题目描述。

保证在一行中的每个整数之间有恰好一个空格,没有其他额外的空格。

保证所有的数据满足 $1 \leq T \leq 5,$ $2 \leq n \leq 10^5,$ $1 \leq a_1 \leq 10^6$。

对于 $i = 2, 3, \cdots, n$ 满足 $1 \leq {low}_i \leq {up}_i \leq 10^6$。

输出

对于每组数据,输出一行,包含一个整数,表示答案对 $998244353$ 取模后的结果。

输入样例

1
2 3
2 3

输出样例

449209963

样例解释

样例中只有两种牌,第一种牌有 $3$ 张,第二种牌有可能有 $2$ 张或者 $3$ 张。

  • 如果第二种牌有 $2$ 张:

    直接删第一种牌的概率为 $\displaystyle\frac{3}{2 + 3}$,先删第二种牌再删第一种牌的概率为 $\displaystyle\frac{2}{2 + 3}$。

  • 如果第二种牌有 $3$ 张:

    直接删第一种牌的概率为 $\displaystyle\frac{3}{3 + 3}$,先删第二种牌再删第一种牌的概率为 $\displaystyle\frac{3}{3 + 3}$。

因此每局游戏需要删掉的牌的数量的期望 $\displaystyle E = \frac{1}{2} \times \left(\frac{3}{5} \times 3 + \frac{2}{5} \times 5\right) + \frac{1}{2} \times \left(\frac{1}{2} \times 3 + \frac{1}{2} \times 6\right) = \frac{83}{20}$,其中 $E \equiv 449209963 \pmod{998244353}$。

提示

在本题中你可能需要了解数学期望和乘法逆元的概念,在此给出一定的解释。

  • 在概率论和统计学中,数学期望(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和。如果随机变量只取得有限个值或无穷能按一定次序一一列出,其值域为一个或若干个有限或无限区间,这样的随机变量称为离散型随机变量。离散型随机变量的一切可能的取值 $x_i$ 与对应的概率 $p(x_i)$ 乘积之和称为该离散型随机变量的数学期望,记为 $E(x)$。

  • 对于正整数 $a$ 和 $m$,若存在正整数 $x$ 使得 $ax \equiv 1 \pmod{m}$,则称其中最小的 $x$ 为 $a$ 在模 $m$ 意义下的乘法逆元。


Problem Setter: ShinriiTin

Problem Tester: zzh, skywalkert

相关推荐