CF1279D Santa's Bot

题目描述

圣诞老人今年收到了来自 $n$ 个不同孩子的信。当然,每个孩子都希望从圣诞老人那里收到一些礼物:具体来说,第 $i$ 个孩子希望收到 $k_i$ 种不同物品中的某一个作为礼物。有些物品可能被多个孩子请求。 圣诞老人非常忙碌,所以他希望新年机器人来为所有孩子选择礼物。不幸的是,这个机器人的选择礼物算法有 bug。对于某个孩子选择礼物的过程如下: - 从所有 $n$ 个孩子中等概率地选择一个孩子 $x$; - 从第 $x$ 个孩子想要的 $k_x$ 个物品中等概率地选择一个物品 $y$; - 从所有 $n$ 个孩子中等概率地选择一个孩子 $z$ 作为收礼人(这个选择与 $x$ 和 $y$ 的选择相互独立);最终得到三元组 $(x, y, z)$,这就是机器人的一次决策。 如果孩子 $z$ 的愿望清单中包含物品 $y$,那么这次决策是有效的。否则,这次选择是无效的。 圣诞老人已经知道了这个 bug,但他无法判断这个 bug 是否真的很严重。为此,他想知道按照上述算法生成的一次决策是有效的概率。你能帮他计算吗?

输入格式

第一行包含一个整数 $n$($1 \le n \le 10^6$),表示写信给圣诞老人的孩子数量。 接下来有 $n$ 行,第 $i$ 行包含第 $i$ 个孩子想要的物品清单,格式如下:$k_i\ a_{i,1}\ a_{i,2}\ \ldots\ a_{i,k_i}$($1 \le k_i, a_{i,j} \le 10^6$),其中 $k_i$ 表示第 $i$ 个孩子想要的物品数量,$a_{i,j}$ 表示这些物品的编号。每个孩子的清单中不会有重复的物品。 保证所有孩子想要的物品总数 $\sum\limits_{i=1}^{n} k_i \le 10^6$。

输出格式

输出机器人做出一次有效决策的概率。 设该概率为最简分数 $\frac{x}{y}$,你需要输出 $x \cdot y^{-1} \bmod 998244353$,其中 $y^{-1}$ 表示 $y$ 关于模 $998244353$ 的逆元(即 $y \cdot y^{-1}$ 模 $998244353$ 的余数为 $1$)。

说明/提示

由 ChatGPT 4.1 翻译