AT_arc186_b.[ARC186B] Typical Permutation Descriptor

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 (A1,…,AN)(A_1,\dots,A_N)。该整数序列满足对于每个 i=1,…,Ni=1,\dots,N,都有 0≤Ai<i0\leq A_i < i。请计算满足以下条件的 (1,…,N)(1,\dots,N) 的排列 (P1,…,PN)(P_1,\dots,P_N) 的个数,并对 998244353998244353 取模。

  • 对于每个 i=1,…,Ni=1,\dots,N,
    • 对于所有满足 Ai<j<iA_i < j < i 的整数 jj,都有 Pj>PiP_j > P_i。
    • 如果 Ai>0A_i > 0,则 PAi<PiP_{A_i} < P_i。

保证对于输入给定的 (A1,…,AN)(A_1,\dots,A_N),一定存在满足条件的排列。

输入格式

输入以以下格式从标准输入给出。

NN A1A_1 A2A_2 …\dots ANA_N

输出格式

输出满足条件的排列数对 998244353998244353 取模的结果。

输入输出样例

  • 输入#1

    4
    0 1 0 3

    输出#1

    3
  • 输入#2

    22
    0 1 2 2 2 2 2 2 1 9 9 9 9 0 14 15 15 15 14 19 19 19

    输出#2

    353820794

说明/提示

限制条件

  • 1≤N≤3×1051\leq N\leq 3\times 10^5
  • 0≤Ai<i0\leq A_i < i
  • 对于 A1,…,ANA_1,\dots,A_N,保证存在满足题目条件的排列
  • 输入均为整数

样例解释 1

满足条件的排列有 (2, 3, 1, 4), (2, 4, 1, 3), (3, 4, 1, 2)(2,\ 3,\ 1,\ 4),\ (2,\ 4,\ 1,\ 3),\ (3,\ 4,\ 1,\ 2) 共 33 个。

样例解释 2

23503095002350309500 对 998244353998244353 取模的结果为 353820794353820794,即为答案。

由 ChatGPT 4.1 翻译

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

首页