AT_arc133_f.[ARC133F] Random Transition

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个整数 NN。

すぬけくん将进行如下操作:

  • 准备一个变量 xx,并用 00 到 NN 之间随机选取的整数进行初始化。对于每个 0≤i≤N0 \leq i \leq N,x=ix=i 的初始化概率为 Ai/109A_i/10^9。
  • 接下来重复 KK 次如下操作:
    • 以概率 x/Nx/N 将 xx 的值减 11,以概率 1−x/N1-x/N 将 xx 的值加 11。(注意,操作后 xx 的值始终保证在 00 到 NN 之间)

对于每个 i=0,1,⋯ ,Ni=0,1,\cdots,N,请计算所有操作结束后 x=ix=i 的概率,并对 998244353998244353 取模。

概率 (mod998244353)\pmod{998244353} 的定义:可以证明,所求概率一定是有理数。此外,在本题的约束下,将其表示为最简分数 PQ\frac{P}{Q} 时,Q≢0(mod998244353)Q \not\equiv 0 \pmod{998244353} 也成立。因此,存在唯一的整数 RR 满足 R×Q≡P(mod998244353), 0≤R<998244353R \times Q \equiv P \pmod{998244353},\ 0 \leq R < 998244353。请输出这个 RR。

输入格式

输入按以下格式从标准输入给出:

NN KK A0A_0 A1A_1 ⋯\cdots ANA_N

输出格式

对于每个 i=0,1,⋯ ,Ni=0,1,\cdots,N,输出所有操作结束后 x=ix=i 的概率,对 998244353998244353 取模。

输入输出样例

  • 输入#1

    2 1
    0 1000000000 0

    输出#1

    499122177 0 499122177
  • 输入#2

    4 2
    200000000 200000000 200000000 200000000 200000000

    输出#2

    723727156 598946612 349385524 598946612 723727156
  • 输入#3

    10 100
    21265166 263511538 35931763 26849698 108140810 134702248 36774526 147099145 58335759 4118743 163270604

    输出#3

    505314898 24510700 872096939 107940764 808162829 831195162 314651262 535843032 665830283 627881537 696038713

说明/提示

限制条件

  • 1≤N≤1000001 \leq N \leq 100000
  • 0≤Ai0 \leq A_i
  • ∑0≤i≤NAi=109\sum_{0 \leq i \leq N}A_i = 10^9
  • 1≤K≤1091 \leq K \leq 10^9
  • 输入的所有值均为整数

样例解释 1

最初必定初始化为 x=1x=1。之后的操作中,以 1/21/2 的概率将 xx 的值减 11,以 1/21/2 的概率将 xx 的值加 11。最终 x=0,1,2x=0,1,2 的概率分别为 1/2,0,1/21/2,0,1/2。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页