AT_nupc2024_i.Eat and Build
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
河狸梅代君打算用木头建造 K 栋房子。梅代君有以下两种行动选择:
- 行动 1:用 1 根木头建造 1 栋房子。梅代君的体力减少 1。
- 行动 2:吃掉 1 根木头。梅代君的体力增加 1。
一开始,梅代君的体力为 H。当梅代君的体力为 h 时,他以 Hh 的概率选择行动 1,以 HH−h 的概率选择行动 2。当他建造了 K 栋房子时,就会停止行动。此外,假设木头数量无限,并且在建造足够的房子之前不会停止行动。
请计算在建造 K 栋房子前,梅代君通过行动 1 和行动 2 总共消耗的木头数的期望值,并将其作为有理数以 mod 998244353 的形式输出。
此外,本题保证期望值一定为有理数。在本题的约束下,设期望值可表示为互质的整数 P,Q,即 P/Q,则一定存在唯一的整数 R 使得 R×Q≡P(mod998244353) 且 0≤R<998244353。请输出这个 R。
输入格式
输入从标准输入按下述格式给出:
H K
输出格式
输出结果。
输入输出样例
输入#1
2 2
输出#1
499122179
输入#2
3 5
输出#2
733050045
输入#3
10 10
输出#3
887776226
说明/提示
样例解释 1
一开始,梅代君的体力为 2。此时,他以概率 22=1 选择建造房子。随后体力变为 1。接下来他有两种情况:
- 以 21 的概率选择行动 1,即建造第二栋房子,此时体力变为 0。
- 以 22−1=21 的概率选择行动 2,即吃掉木头,体力回到 2。
对于第 1 种情况,总共建造了 2 栋房子,因此结束。对于第 2 种情况,接下来再次以概率 1 选择建造房子,结束。
因此,当建造 2 栋房子时,有 22×21=21 的概率消耗 2 根木头,有 22×21×22=21 的概率消耗 3 根木头。因此,在建造 2 栋房子前消耗木头数的期望值为 2×21+3×21=25,由于 499122179×2≡5(mod998244353),所以答案为 499122179。
数据范围
- 1≤H≤3×103
- 1≤K≤3×103
- 输入的数均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?