A59731.[NOI2025] 集合

NOI/NOI+/CTSC

NOI

通过率:0%

时间限制:2.00s

内存限制:512MB

题目描述

小 X 有 2n2^n 个数,编号为 002n12^n - 1,第 ii (0i<2n0 \leq i < 2^n) 个数为 aia_i

对于 S{0,1,,2n1}S \subseteq \{0, 1, \ldots, 2^n - 1\},定义 f(S)f(S) 为集合 SS所有数的二进制按位与。特别地,若 SS 为空集,则 f(S)=2n1f(S) = 2^n - 1

定义两个 {0,1,,2n1}\{0, 1, \ldots, 2^n - 1\} 的子集 P,QP, Q(可以为空)构成的有序对 (P,Q)(P, Q)特别的 当且仅当 PQ=P \cap Q = \varnothingf(P)=f(Q)f(P) = f(Q)。定义有序对 (P,Q)(P, Q)权值编号 包含在 PQP \cup Q 内的所有数的乘积,即 iPQai\prod_{i \in P \cup Q} a_i。特别地,若 PQ=P \cup Q = \varnothing,则有序对 (P,Q)(P, Q) 的权值为 11

小 X 想要知道所有特别的有序对的权值之和,请你帮助他求出这个值。由于答案可能较大,你只需要求出答案对 998,244,353998,244,353 取模后的结果。

输入格式

本题包含多组测试数据。

输入的第一行包含两个非负整数 c,tc, t,分别表示测试点编号与测试数据组数。c=0c = 0 表示该测试点为样例。

接下来依次输入每组测试数据,对于每组测试数据:

第一行包含一个正整数 nn,表示有 2n2^n 个数。

第二行包含 2n2^n 个非负整数 a0,,a2n1a_0, \ldots, a_{2^n - 1}

输出格式

对于每组测试数据,输出一行一个整数,表示所有特别的有序对的权值之和对 998,244,353998,244,353 取模后的结果。

输入输出样例

  • 输入#1

    0 2
    2
    1 2 3 4
    3
    1 1 1 1 1 1 1 1

    输出#1

    117
    2091

说明/提示

【样例 2】

该样例满足测试点 2 的约束条件。

【样例 3】

该样例满足测试点 3 的约束条件。

【样例 4】

该样例满足测试点 9 的约束条件。

【数据范围】

对于所有测试数据,保证:

  • 1t31 \leq t \leq 3;
  • 2n202 \leq n \leq 20;
  • 对于所有 0i<2n0 \leq i < 2^n,均有 0ai<998,244,3530 \leq a_i < 998,244,353
测试点编号 nn \leq 特殊性质
11 44 B
22 44
33 88 B
44 88
55 1010 B
66 1010
7,87, 8 1212 B
99 1212
101210 \sim 12 1616 B
13,1413, 14 1616
15,1615, 16 2020 AB
172017 \sim 20 2020

特殊性质 A: 保证至多存在 24 个 ii 满足 ai0a_i \neq 0

特殊性质 B: 保证对于所有 0i<2n0 \leq i < 2^n,均有 ai998,244,352a_i \neq 998,244,352

首页