编程题
### 问题描述 有一个特殊的硬币,每次扔硬币扔出正面的概率为 $p$,扔出反面的概率为 $1-p$,每次扔硬币的结果相互独立。$p$ 由一个分式 $\frac{a}{b}$ 给出。 现在 Alice 扔 $n$ 次这个特殊的硬币。Alice 的初始分数为 $0$,每次扔硬币如果扔出正面,Alice 的得分增加 $1$,如果扔出反面,Alice 的得分减少 $1$。特殊的,如果在一次扔硬币前 Alice 的分数为 $0$,如果扔出反面,Alice 的分数不会减少。 求 Alice 在扔 $n$ 次硬币后分数的数学期望,答案对 $998244353$ 取模。 ### 输入格式 输入第一行包含三个整数 $n,a,b$,分别表示扔硬币的总次数,$p$ 的分子和 $p$ 的分母。 ### 输出格式 一个整数,表示 Alice 在扔 $n$ 次硬币后分数的数学期望,答案对 $998244353$ 取模。 ### 样例输入 ```text 3 1 2 ``` ### 样例输出 ```text 1 ``` ### 说明 扔硬币的总次数为 $3$,每次扔硬币扔出正面和反面的概率均为 $\frac{1}{2}$。 扔硬币共有 $8$ 种可能的结果,每一种出现的概率均为 $\frac{1}{8}$。以下用 $0$ 和 $1$ 表示扔硬币的结果,$1$ 表示扔出正面,$0$ 表示扔出反面。 1. 扔硬币的结果为 $(1,1,1)$,Alice 三次扔硬币均获得 $1$ 分,最后分数为 $3$。 2. 扔硬币的结果为 $(1,1,0)$,Alice 前两次扔硬币各获得 $1$ 分,第三次扔硬币失去 $1$ 分,最后分数为 $1$。 3. 扔硬币的结果为 $(1,0,1)$,Alice 第一次扔硬币获得 $1$ 分,第二次扔硬币失去 $1$ 分,第三次扔硬币获得 $1$ 分,最后分数为 $1$。 4. 扔硬币的结果为 $(1,0,0)$,Alice 第一次扔硬币获得 $1$ 分,第二次扔硬币失去 $1$ 分,第三次扔硬币虽然扔出反面,但由于此时 Alice 分数为 $0$,不失去分数。最后分数为 $0$。 5. 扔硬币的结果为 $(0,1,1)$,Alice 第一次扔硬币扔出反面,但因为分数为 $0$ 不失去分数。第二次和第三次扔硬币各获得 $1$ 分,最后分数为 $2$。、 6. 扔硬币的结果为 $(0,1,0)$,Alice 第一次扔出反面,分数为 $0$ 不失去分数。第二次扔出正面获得 $1$ 分,第三次扔出反面失去 $1$ 分,最后分数为 $0$。 7. 扔硬币的结果为 $(0,0,1)$,Alice 前两次扔出反面,分数为 $0$ 不失去分数。第三次扔出正面获得 $1$ 分,最后分数为 $1$。 8. 扔硬币的结果为 $(0,0,0)$,Alice 三次均扔出反面,分数为 $0$ 不失去分数。最后分数为 $0$。 扔 $3$ 次硬币后分数的数学期望为 $\frac{3+1+1+0+2+0+1+0}{8}=1$。 ### 评测数据规模 对于 $20$% 的评测数据,$1\leq n \leq 5000$。 对于 $100$% 的评测数据,$1\leq n \leq 10^5$,$1\leq a < b <998244353$。
查看答案
赣ICP备20007335号-2