如果你在竞赛中准备过题目,你可能会发现以下事实违反直觉:从所有 $n$ 个节点的无根标号树中均匀随机选择一棵树,其期望直径为 $\Theta(\sqrt{n})$。
为什么这如此违反直觉?因为如果你曾经准备过树相关的题目,你可能知道生成随机树(不一定是均匀随机)最简单的方法之一是以下过程,我们可以称之为“偏斜随机生成器”:
- 对于每个 $i$ 从 $2$ 到 $n$:
- 在 $1$ 到 $i-1$ 之间随机选择一个 $j$,并添加边 $(i, j)$。
- 通过选择 $1, 2, \dots, n$ 的随机排列来重新标记节点。
虽然这绝不是从 $n$ 个节点的无根标号树中进行均匀随机选择(根据凯莱公式,共有 $n^{n-2}$ 棵这样的树),但你可能会直观地认为这“足够接近”均匀随机,并且应该给出正确的期望直径。事实上,通过此过程生成的树的期望直径为 $\Theta(\log n)$(至少我认为是这样)。然而,这是错误的!事实证明,该过程在 $n^{n-2}$ 棵树中产生了一个高度偏斜的概率分布,足以改变期望直径。
让我们测试一下这个新发现的知识。假设一棵 $n$ 个节点的随机加权无根标号树是按如下方式选择的:
- 首先,从 $n^{n-2}$ 棵无权无根标号树中均匀随机选择一棵。
- 重要提示:无权无根标号树的选择在 $n^{n-2}$ 棵不同的树中是均匀的;上述“偏斜随机生成器”过程将不会被使用。
- 接下来,对于每条边,以概率 $p_1$ 赋予权重 $1$,以概率 $p_2$ 赋予权重 $2$。注意 $p_1 + p_2 = 1$。
给定 $n$,以这种方式选择的树的期望直径是多少?求这个数“模 998244353”的结果;即:
- 令 $m = 998244353$。
- 可以证明答案是有理数(假设 $p_1$ 和 $p_2$ 是有理数)。
- 将答案写成最简分数 $u/v$,其中 $v$ 为正数。
- 可以证明(在题目限制条件下)存在唯一的整数 $r$,使得 $0 \le r < m$ 且 $rv \equiv u \pmod m$。你的目标是找到这个唯一的 $r$。
说明
- $n$ 个节点的无根标号树是一个连通的无环无向图,其节点为 $1, 2, \dots, n$。
- 加权图的直径是其中任意简单路径的最大权重。
- 简单路径是指没有重复节点的路径;即一个由不同节点组成的序列 $s_0, s_1, \dots, s_k$,使得对于每个 $i$,都存在一条边 $(s_i, s_{i+1})$。
- 简单路径的权重是其路径上所有边的权重之和。
输入格式
输入包含一行,包含三个空格分隔的整数 $n, x$ 和 $y$。概率 $p_1$ 和 $p_2$ 定义如下:
$$p_1 = x/y$$ $$p_2 = 1 - p_1$$
- $1 \le n \le 2000$
- $0 \le x \le y \le 1000$
输出格式
输出一行,包含表示答案的整数。
样例
样例输入 1
2 1 3
样例输出 1
665496237
样例输入 2
3 2 3
样例输出 2
665496238
说明
对于 $n = 2$,只有 $2^0 = 1$ 棵无权树,以及 $2$ 棵加权树,直径分别为 $1$ 和 $2$,概率分别为 $1/3$ 和 $2/3$。期望直径为 $5/3$,答案为 $r = 665496237$,因为它是满足以下条件的唯一整数:
- $0 \le r < 998244353$
- $3r \equiv 5 \pmod{998244353}$
对于 $n = 3$,共有 $3^1 = 3$ 棵无权树,以及 $12$ 棵加权树。