#P12766. mod 2
mod 2
mod 2
Problem Description
对于一个数组 ,定义:
:先筛选出 中出现次数为奇数的元素,再将这些元素按照“出现次数降序,出现次数相同时按元素大小升序排序”的新数组。
:先筛选出 中出现次数为偶数的元素,再将这些元素按照“出现次数降序,出现次数相同时按元素大小升序排序”的新数组。
比如 [1, 2, 1]
,那么 = [2]
;[3, 3, 2, 2, 1, 2, 1, 2, 4]
,那么 = [2, 1, 3]
;
现在给你一个长度为 的数组 ,有 次询问,每次询问给你四个数 。你需要回答:你能构造出多少种长度为 ,值域为 的数组 ,使得 ?答案对 取模。强制在线。
Input
第一行输入一个整数 (),表示测试的总数。 对于每个测试样例, 第一行输入一个数 ,表示数组的长度。接下来一行 ()个数 ()。保证样例中 的总和不超过 。 接下来一个数 (),表示询问的次数。保证样例中 的总和不超过 。 接下来 行,每行四个整数 (, ),含义如题面所示。强制在线。在第 次询问时,令 。你读入的 需要异或上 才是真正的 。
Output
对于每个样例,每次询问输出一个值,方案数对 取模后的结果。
Sample Input
1
5
1 2 3 2 5
2
1 4 4 5
1 3 14 7
Sample Output
0
1
Hint
对于第一个查询,我们得到的 = [1, 3]
。可能的 为:
[1, 1, 3, 3]
[1, 3, 1, 3]
[1, 3, 3, 1]
[3, 1, 1, 3]
[3, 1, 3, 1]
[3, 3, 1, 1]
一共有 种情况。因此输出 。
Source
2025“钉耙编程”中国大学生算法设计暑期联赛(1)