AT_past202209_o.2個のボール

通过率:0%

AC君温馨提醒

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

题目描述

有两个盒子 AA 和 BB,其中包含写有 00 到 2N−12^N-1 之间整数的球。盒子 AA 中有 AiA_i 个编号为 ii 的球(0≤i<2N0 \leq i < 2^N),盒子 BB 中有 BiB_i 个编号为 ii 的球(0≤i<2N0 \leq i < 2^N)。所有球均可区分。

考虑从盒子 AA 和盒子 BB 各取一个球。在 (A(A 盒中球的总数 )×() \times ( B 盒中球的总数 )) 种可能的取法中,令 f(x,y)f(x, y) 表示满足下列条件的对数:

  • 这里 popcount(x)\mathrm{popcount}(x) 表示 xx 的二进制表达中 11 的个数。
  • 设 aa、bb 分别为从 AA、BB 中取出的球上的整数。则 aa 和 bb 的按位或为 xx,且 popcount(a)+popcount(b)=y\mathrm{popcount}(a) + \mathrm{popcount}(b) = y。

现给定长度为 QQ 的序列 XX 和 YY。对于每一个 ii(1≤i≤Q1 \leq i \leq Q),请计算 f(Xi,Yi)f(X_i, Y_i) 对 998244353998244353 取模的结果。

输入格式

输入从标准输入给出,格式如下:

NN QQ
A0A_0 A1A_1 …\dots A2N−1A_{2^N-1}
B0B_0 B1B_1 …\dots B2N−1B_{2^N-1}
X1X_1 Y1Y_1
X2X_2 Y2Y_2
⋮\vdots
XQX_Q YQY_Q

输出格式

输出共 QQ 行。第 ii 行输出 f(Xi,Yi) mod 998244353f(X_i, Y_i) \bmod 998244353。

输入输出样例

  • 输入#1

    2 3
    3 1 4 1
    5 9 2 6
    1 1
    3 2
    2 0

    输出#1

    32
    61
    0
  • 输入#2

    1 1
    0 0
    1 2
    1 1

    输出#2

    0

说明/提示

样例解释 1

  • 对于 x=1,y=1x = 1, y = 1,满足条件的配对 (a,b)(a,b) 为 (0,1),(1,0)(0, 1), (1, 0)。因此答案为 A0×B1+A1×B0=32A_0 \times B_1 + A_1 \times B_0 = 32。
  • 对于 x=3,y=2x = 3, y = 2,满足条件的配对 (a,b)(a,b) 为 (0,3),(1,2),(2,1),(3,0)(0,3),(1,2),(2,1),(3,0)。因此答案为 A0×B3+A1×B2+A2×B1+A3×B0=61A_0 \times B_3 + A_1 \times B_2 + A_2 \times B_1 + A_3 \times B_0 = 61。
  • 对于 x=2,y=0x = 2, y = 0,没有满足条件的配对 (a,b)(a,b)。因此答案为 00。

样例解释 2

盒子中可能没有球。

数据范围

  • 1≤N≤171 \leq N \leq 17
  • 1≤Q≤1051 \leq Q \leq 10^5
  • 0≤Ai<9982443530 \leq A_i < 998244353 (0≤i<2N0 \leq i < 2^N)
  • 0≤Bi<9982443530 \leq B_i < 998244353 (0≤i<2N0 \leq i < 2^N)
  • 0≤Xi<2N0 \leq X_i < 2^N (1≤i≤Q1 \leq i \leq Q)
  • 0≤Yi≤2N0 \leq Y_i \leq 2N (1≤i≤Q1 \leq i \leq Q)
  • 所有输入值均为整数。

由 ChatGPT 5 翻译

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

首页