CF1553I.Stairs
NOI/NOI+/CTSC
通过率:0%
时间限制:10.00s
内存限制:1024MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
For a permutation p of numbers 1 through n, we define a stair array a as follows: ai is length of the longest segment of permutation which contains position i and is made of consecutive values in sorted order: [x,x+1,…,y−1,y] or [y,y−1,…,x+1,x] for some x≤y. For example, for permutation p=[4,1,2,3,7,6,5] we have a=[1,3,3,3,3,3,3].
You are given the stair array a. Your task is to calculate the number of permutations which have stair array equal to a. Since the number can be big, compute it modulo 998244353. Note that this number can be equal to zero.
对于数字 1 到 n 的一个排列 p,我们定义其阶梯数组(stair array)a 如下:ai 表示包含位置 i 的最长连续段的长度,该连续段在排列中占据连续的位置,且其中的数值构成一个严格递增或严格递减的连续整数区间:即形如 [x,x+1,…,y−1,y] 或 [y,y−1,…,x+1,x](其中 x≤y)。例如,对排列 p=[4,1,2,3,7,6,5],其对应的阶梯数组为 a=[1,3,3,3,3,3,3]。
现给定阶梯数组 a,你的任务是计算有多少个长度为 n 的排列 p 满足其阶梯数组恰好等于 a。由于结果可能很大,请将答案对 998244353 取模输出。注意,该数目可能为零。
输入格式
The first line of input contains integer n (1≤n≤105) — the length of a stair array a.
The second line of input contains n integers a1,a2,…,an (1≤ai≤n).
输入的第一行包含一个整数 n(1≤n≤105)—— 表示楼梯数组 a 的长度。
输入的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤n)。
输出格式
Print the number of permutations which have stair array equal to a. Since the number can be big, compute it modulo 998244353.
输出满足楼梯数组等于 a 的排列数量。由于该数值可能很大,请对 998244353 取模。
输入输出样例
输入#1
6 3 3 3 1 1 1
输出#1
6
输入#2
7 4 4 4 4 3 3 3
输出#2
6
输入#3
1 1
输出#3
1
输入#4
8 2 2 2 2 2 2 1 1
输出#4
370
输入#5
4 3 2 3 1
输出#5
0
输入解题思路,AI测评打分。不知道怎么写?