CF1936E.Yet Yet Another Permutation Problem
NOI/NOI+/CTSC
通过率:0%
时间限制:5.00s
内存限制:1024MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a permutation p of length n.
Please count the number of permutations q of length n which satisfy the following:
- for each 1≤i<n, max(q1,…,qi)=max(p1,…,pi).
Since the answer may be large, output the answer modulo 998244353.
给你一个长度为 n 的排列 p。
请计算满足以下条件的长度为 n 的排列 q 的个数:
- 对每个 1≤i<n,均有 max(q1,…,qi)=max(p1,…,pi)。
由于答案可能很大,请将答案对 998244353 取模后输出。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤104). The description of the test cases follows.
The first line of each test case contains a single integer n (2≤n≤2⋅105).
The second line of each test case contains n integers p1,p2,…,pn (1≤pi≤n). It is guaranteed that p is a permutation.
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(2≤n≤2⋅105)。
每个测试用例的第二行包含 n 个整数 p1,p2,…,pn(1≤pi≤n)。保证 p 是一个排列。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
For each test case, print a single integer — the answer modulo 998244353.
对于每个测试用例,输出一个整数——答案对 998244353 取模的结果。
输入输出样例
输入#1
6 2 2 1 3 1 2 3 3 3 1 2 4 2 4 1 3 5 3 5 1 4 2 15 6 13 2 8 7 11 1 3 9 15 4 5 12 10 14
输出#1
1 3 2 4 18 424488915
说明/提示
In the first test case, p=[2,1]. The only suitable q is [1,2]. Indeed, we need to satisfy the inequality q1=p1. It only holds for q=[1,2].
In the second test case, p=[1,2,3]. So q has to satisfy two inequalities: q1=p1 and max(q1,q2)=max(1,2)=2. One can prove that this only holds for the following 3 permutations:
- q=[2,3,1]: in this case q1=2=1 and max(q1,q2)=3=2;
- q=[3,1,2]: in this case q1=3=1 and max(q1,q2)=3=2;
- q=[3,2,1]: in this case q1=3=1 and max(q1,q2)=3=2.
在第一个测试用例中,p=[2,1]。唯一满足条件的 q 是 [1,2]。事实上,我们需要满足不等式 q1=p1,而该不等式仅对 q=[1,2] 成立。
在第二个测试用例中,p=[1,2,3]。因此 q 必须满足两个不等式:q1=p1 和 max(q1,q2)=max(1,2)=2。可以证明,仅以下 3 个排列满足条件:
- q=[2,3,1]:此时 q1=2=1,且 max(q1,q2)=3=2;
- q=[3,1,2]:此时 q1=3=1,且 max(q1,q2)=3=2;
- q=[3,2,1]:此时 q1=3=1,且 max(q1,q2)=3=2。
输入解题思路,AI测评打分。不知道怎么写?