CF2144C.Non-Descending Arrays
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个长度为 n 的整数数组 a 和 b。
你可以选择任意一组下标的子集,并将这些位置上的元素进行交换(即对于每个下标 i,执行 swap(ai, bi))。如果在交换之后,两个数组都按非递减顺序排列,则该下标子集被认为是“好的子集”。
你的任务是计算“好子集”的数量。由于答案可能很大,请输出对 998244353 取模后的结果。
输入格式
第一行包含一个整数 t(1≤t≤500)——表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤100)。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤1000)。
第三行包含 n 个整数 b1,b2,…,bn(1≤bi≤1000)。
输入保证对于每组测试数据,至少存在一个好子集。
输出格式
对于每个测试用例,输出一个整数,表示好子集的数量,对 998244353 取模。
输入输出样例
输入#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
说明/提示
在第一个样例中,有 2 个好子集:{1,3} 和 {2}。
在第二个样例中,有 2 个好子集:{1} 和 {}。
在第三个样例中,有 8 个好子集:{1,2,3,4,5},{1,2,3},{1,2,4,5},{1,2},{3,4,5},{3},{4,5} 和 {}。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?