AT_abc272_h.[ABC272Ex] Flipping Coins 2

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 枚编号为 0,1,…,N−10,1,\ldots,N-1 的硬币排成一排。开始时,所有硬币都是正面朝上。同时,给定一个长度为 NN 的数列 AA,其中每个元素都是 00 到 N−1N-1 之间的整数。

すぬけ君会等概率地选择一个 11 到 NN 的排列 p=(p1,p2,…,pN)p=(p_1,p_2,\ldots,p_N),然后进行 NN 次操作。第 ii 次操作(1≤i≤N1\leq i \leq N)如下:

  • 翻转编号为 (i−1) mod N(i-1)\bmod N、(i−1+1) mod N(i-1+1)\bmod N、…\ldots、(i−1+Api) mod N(i-1+A_{p_i})\bmod N 的 (Api+1)(A_{p_i}+1) 枚硬币。

经过 NN 次操作后,记正面朝上的硬币数为 kk,すぬけ君会从妈妈那里得到 kk 日元。

请你计算すぬけ君最终能获得的钱的期望值,并对 998244353998244353 取模输出。

期望值  mod  998244353\bmod\ 998244353 的定义:本题中要求的期望值一定是有理数,并且在本题的约束下,若将期望值表示为最简分数 yx\frac{y}{x},则 xx 一定不能被 998244353998244353 整除。

此时,存在唯一的 00 到 998244352998244352 之间的整数 zz,满足 xz≡y(mod998244353)xz \equiv y \pmod{998244353}。请输出这个 zz。

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

请输出答案。

输入输出样例

  • 输入#1

    2
    0 1

    输出#1

    1
  • 输入#2

    4
    3 1 1 2

    输出#2

    665496237

说明/提示

约束

  • 1≤N≤2×1051 \leq N \leq 2\times 10^5
  • 0≤Ai≤N−10 \leq A_i \leq N-1
  • 输入均为整数

样例解释 1

pp 可能为 (1,2)(1,2) 或 (2,1)(2,1)。

  • 当 p=(1,2)p=(1,2) 时,第 1 次操作翻转硬币 00,第 2 次操作翻转硬币 11 和 00。最终只有硬币 00 是正面朝上,因此得到 11 日元。
  • 当 p=(2,1)p=(2,1) 时,第 1 次操作翻转硬币 00 和 11,第 2 次操作翻转硬币 11。最终只有硬币 11 是正面朝上,因此得到 11 日元。

因此,最终能获得的钱的期望值为 11 日元。

样例解释 2

请对期望值  mod  998244353\bmod\ 998244353 输出答案。

由 ChatGPT 4.1 翻译

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

首页