CF2144C.Non-Descending Arrays

普及-

通过率:0%

AC君温馨提醒

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

题目描述

给定两个长度为 nn 的整数数组 aa 和 bb。

你可以选择任意一组下标的子集,并将这些位置上的元素进行交换(即对于每个下标 ii,执行 swap(aia_i, bib_i))。如果在交换之后,两个数组都按非递减顺序排列,则该下标子集被认为是“好的子集”。

你的任务是计算“好子集”的数量。由于答案可能很大,请输出对 998244353998244353 取模后的结果。

输入格式

第一行包含一个整数 tt(1≤t≤5001 \leq t \leq 500)——表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤1001 \leq n \leq 100)。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤10001 \leq a_i \leq 1000)。

第三行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \dots, b_n(1≤bi≤10001 \leq b_i \leq 1000)。

输入保证对于每组测试数据,至少存在一个好子集。

输出格式

对于每个测试用例,输出一个整数,表示好子集的数量,对 998244353998244353 取模。

输入输出样例

  • 输入#1

    3
    3
    2 1 4
    1 3 2
    1
    4
    4
    5
    2 3 3 4 4
    1 1 3 5 6

    输出#1

    2
    2
    8

说明/提示

在第一个样例中,有 22 个好子集:{1,3}\{1, 3\} 和 {2}\{2\}。

在第二个样例中,有 22 个好子集:{1}\{1\} 和 {}\{\}。

在第三个样例中,有 88 个好子集:{1,2,3,4,5}\{1, 2, 3, 4, 5\},{1,2,3}\{1, 2, 3\},{1,2,4,5}\{1, 2, 4, 5\},{1,2}\{1, 2\},{3,4,5}\{3, 4, 5\},{3}\{3\},{4,5}\{4, 5\} 和 {}\{\}。

由 ChatGPT 5 翻译

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

首页