AT_arc171_b.[ARC171B] Chmax
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于一个 1 到 N 的排列 P=(P1,P2,⋯,PN),如下定义 F(P):
-
初始序列 B=(1,2,⋯,N)。只要有一个整数 i 令 Bi<PBi 存在,就进行下面的操作:
- 找到最小的满足 Bj<PBj 的整数 j,则将 Bj 替换为 PBj。
将 F(P) 定义为这一过程结束时的 B(可以证明这个过程会在有限步数后终止)。
给你一个长度为 N 的序列 A=(A1,A2,⋯,AN),请问有多少个 1 到 N 的排列 P 满足 F(P)=A?答案对 998244353 取模。
输入格式
第一行一个整数 N,接下来 N 个整数 A1,A2,⋯,AN。
输出格式
输出答案,对 998244353 取模。
样例 1 解释
以下用 j(B1′,B2′,⋯,BN′) 表示选择 j 将 Bj 替换为 PBj 得到 (B1′,B2′,⋯,BN′)。
选择 P=(2,3,1,4),然后
(1,2,3,4)1(2,2,3,4)1(3,2,3,4)2(3,3,3,4)
于是 F((2,3,1,4))=(3,3,3,4)。
只有这一个 P 满足 F(P)=(3,3,3,4)。
输入输出样例
输入#1
4 3 3 3 4
输出#1
1
输入#2
4 2 2 4 3
输出#2
0
输入#3
8 6 6 8 4 5 6 8 8
输出#3
18
说明/提示
- 1≤N≤2×105
- 1≤Ai≤N
- 所有的输入都是整数。
输入解题思路,AI测评打分。不知道怎么写?