#P12482. [集训队互测 2024] 欧伊昔

    ID: 14068 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>集训队互测2024线性代数随机化快速沃尔什变换 FWT

[集训队互测 2024] 欧伊昔

题目背景

伊是欧最为仰慕的 OIer,因为不仅伊水平甚高,欧还常能见到伊。
那段时间曾是欧最铭记的时刻,她原以为一切都会如此顺利。
直到一个夏天,那天大雨,雨滴在玻璃板上噼啪作响。
在这之后,一切都不复存在。
欧知道伊去了哪里。
但又不想知道。

后来的一天,她发现黑板上的一处未被擦除的草稿。
她也终于找出先前某天的些许快乐时光:
那时候欧丢给伊一个问题,是求两个三进制数的高维“卷积”。
但是她忘记了具体方式,于是随口说了一个看似没有性质的按位取 mex\text{mex},作为运算表。
伊给出了一种做法。可是这个做法还是太特殊了。
然后她直接询问了没有性质的做法。
然后…… 她记不起来了。

那天大雨后她已经丢失了所有关于他的回忆。直到现在才找回来一些碎片。
欧此时认为,当时的伊一定给出了一个更为优秀的解法,对于随机生成的运算表,因为这“没有性质”。
也许只需要做稍做修改…… 就能找回那天末尾的记忆。仅此就好。

题目描述

题目给出一个 3×33\times 3 的运算表 op\text{op},数组下标和值域均在 [0,2][0,2]

v3(a)bv_3(a)_baa 在三进制表示下的第 bb 位的数字(最低位为 00)。

对于两个数 0i,j<3n0\le i,j<3^n,定义 iopji\mathop{\mathrm{op}}j 满足 $v_3(i\mathop{\mathrm{op}}j)_k=\text{op}_{v_3(i)_k,v_3(j)_k}\quad(0\le k< n)$。

还给出两个数组 Ai,BiA_i,B_i,在 [0,9][0,9] 的整数内取。对于每个 xx 求:

Cx=iopj=xAiBjC_x=\sum_{i\mathop{\mathrm{op}}j=x}A_iB_j

特别的,运算表随机生成,且每组子任务有恰好五组数据(最后一组例外,有十组)。

输入格式

前三行每行三个整数,第 ii 行第 jj 个数表示 opi1,j1\text{op}_{i-1,j-1}
接下来一行一个整数 nn 表示维数。
接下来一行,每行 3n3^n 个整数,第 ii 个整数表示 Ai1A_{i-1}。 接下来一行,每行 3n3^n 个整数,第 ii 个整数表示 Bi1B_{i-1}。 数字间用空格隔开。

输出格式

一行 3n3^n 个整数,第 ii 个整数表示 Ci1C_{i-1}

1 2 1
1 2 0
2 1 0
1
5 7 8
9 8 4
60 192 168
0 0 1
0 2 0
2 2 1
2
8 1 1 8 1 3 2 5 3
9 0 6 3 5 3 4 9 6
358 213 97 190 84 106 209 78 105 

提示

样例解释

样例 1 和 2 只满足子任务 5 的性质并使用其数据生成器生成。

样例 3 至样例 8 分别对应除子任务 5 以外的其他子任务,并使用和该子任务测试数据一样的数据生成器生成。

数据范围与提示

Subtask 1(5 pts):opi,j=i+jmod3\text{op}_{i,j}=i+j\bmod 3
Subtask 2(5 pts):opi,j=mex(i,j)\text{op}_{i,j}=\text{mex}(i,j)mex(i,j)\text{mex}(i,j) 表示最小的不等于 iijj 的非负整数;
Subtask 3(20 pts):opi,j{0,1},\text{op}_{i,j}\in\{0,1\}, 且任意两行,每一位要么全部相同,要么全部不同;
Subtask 4(30 pts):opi,j{0,1}\text{op}_{i,j}\in\{0,1\}
Subtask 5(10 pts):n9n\le 9
Subtask 6(10 pts):n=10n=10依赖 Subtask 5
Subtask 7(20 pts):n=11n=11依赖 Subtask 6

目前子任务依赖尚未配置。

对于 100%100\% 的数据,保证 1n111\le n\le 11opi,j\text{op}_{i,j} 在子任务要求下均匀随机地从所有可能方案中选择一种。
保证 0Ai,Bi90\le A_i,B_i\le 9 且为整数。除最后一组外每组子任务恰有 55 组数据,最后一组子任务有 1010 组。