AT_past202209_o.2個のボール
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有两个盒子 A 和 B,其中包含写有 0 到 2N−1 之间整数的球。盒子 A 中有 Ai 个编号为 i 的球(0≤i<2N),盒子 B 中有 Bi 个编号为 i 的球(0≤i<2N)。所有球均可区分。
考虑从盒子 A 和盒子 B 各取一个球。在 (A 盒中球的总数 )×( B 盒中球的总数 ) 种可能的取法中,令 f(x,y) 表示满足下列条件的对数:
- 这里 popcount(x) 表示 x 的二进制表达中 1 的个数。
- 设 a、b 分别为从 A、B 中取出的球上的整数。则 a 和 b 的按位或为 x,且 popcount(a)+popcount(b)=y。
现给定长度为 Q 的序列 X 和 Y。对于每一个 i(1≤i≤Q),请计算 f(Xi,Yi) 对 998244353 取模的结果。
输入格式
输入从标准输入给出,格式如下:
N Q
A0 A1 … A2N−1
B0 B1 … B2N−1
X1 Y1
X2 Y2
⋮
XQ YQ
输出格式
输出共 Q 行。第 i 行输出 f(Xi,Yi)mod998244353。
输入输出样例
输入#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=1,满足条件的配对 (a,b) 为 (0,1),(1,0)。因此答案为 A0×B1+A1×B0=32。
- 对于 x=3,y=2,满足条件的配对 (a,b) 为 (0,3),(1,2),(2,1),(3,0)。因此答案为 A0×B3+A1×B2+A2×B1+A3×B0=61。
- 对于 x=2,y=0,没有满足条件的配对 (a,b)。因此答案为 0。
样例解释 2
盒子中可能没有球。
数据范围
- 1≤N≤17
- 1≤Q≤105
- 0≤Ai<998244353 (0≤i<2N)
- 0≤Bi<998244353 (0≤i<2N)
- 0≤Xi<2N (1≤i≤Q)
- 0≤Yi≤2N (1≤i≤Q)
- 所有输入值均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?