U276829 Combine

题目背景

**时间限制:** 1.0 秒 **空间限制:** 512 MB

题目描述

D 学校一年级有 3 个班级,A 班、B 班和 C 班。每个班级都有 $n$ 个学生,编号为 $1, 2, \cdots, n$。班级内学生的编号都是不同的,但不同班级间的编号会重复(即:每个班级都有各自的 $1$ 号学生)。 A 班、B 班的每个学生有一个称为人气值的属性,我们记 A 班 $i$ 号学生的人气值为 $a_i$,B 班 $j$ 号学生的人气值为 $b_j$。我们会按一定规则组织 A 班和 B 班的学生,在 C 班学生的帮助下进行合作。 组织的规则由正整数参数 $p$ 决定 $(1 \le p \le 10)$,具体而言: - 对于 $p = 1$:当且仅当 $i + j = k$ 时,A 班 $i$ 号学生与 B 班 $j$ 号学⽣会在 C 班 $k$ 号学生的帮助下进行合作; - 对于 $p = 2$:当且仅当 $i - j = k$ 时,A 班 $i$ 号学生与 B 班 $j$ 号学生会在 C 班 $k$ 号学生的帮助下进行合作; - 按照下表依此类推 $\cdots$ |$p$|条件| |:---:|:---:| |$1$|$i + j = k$| |$2$|$i - j = k$| |$3$|$i \times j = k$| |$4$|$i / j = k$ (即 $i = j \times k$)| |$5$|$\lfloor i / j \rfloor = k$(即 $i$ 整除 $j$ 忽略余数结果为 $k$)| |$6$|$i~\mathrm{and}~j = k$(按位与运算)| |$7$|$i~\mathrm{or}~j = k$(按位或运算)| |$8$|$i~\mathrm{xor}~j = k$(按位异或运算)| |$9$|$\min(i, j) = k$| |$10$|$\max(i, j) = k$| 现在,我们要统计 C 班每个学生在合作中的作用如何。对于 C 班的每个学生,我们需要计算他得到的合作值,$k$ 号学生的合作值记为 $c_k$。学生的合作值为他参与的每次项目的合作值之和,而某个项目的合作值为参与合作的 A 班、B 班 学生的人气值乘积。 例如,对于 $p = 1$,我们希望计算 C 班 4 号学生的合作值 $c_4$,根据组织规则,C 班 4 号学生参加了 3 次合作: - A 班 1 号学生与 B 班 3 号学生的合作(因为 $1 + 3 = 4$); - A 班 2 号学生与 B 班 2 号学生的合作; - A 班 3 号学生与 B 班 1 号学生的合作。 因此,$c_4 = a_1 \cdot b_3 + a_2 \cdot b_2 + a_3 \cdot b_1$ 。 形式化地说,输入正整数 $n$ 和 $p~(1 \le p \le 10)$,并输入两个长度为 $n$ 的数组 $a_1, a_2, \cdots, a_n$ 和 $b_1, b_2, \cdots, b_n$,求一个长度为 $n$ 的数组 $c_1, c_2, \cdots, c_n$,其中 $$ c_k = \sum_{1 \le i, j \le n;~\mathrm{judge}(i, j, k) ~\mathrm{is}~\mathrm{true}} a_i \cdot b_j $$ 其中 $$ \mathrm{judge}(i, j, k) = \begin{cases} i + j = k, & p = 1 \\ i - j = k, & p = 2 \\ i \cdot j = k, & p = 3 \\ i / j = k, & p = 4 \\ \lfloor i / j \rfloor = k, & p = 5 \\ i~\mathrm{and}~j = k, & p = 6 \\ i~\mathrm{or}~j = k, & p = 7 \\ i~\mathrm{xor}~j = k, & p = 8 \\ \min(i, j) = k, & p = 9 \\ \max(i,j) = k, & p = 10 \end{cases} $$

输入格式

从标准输入读入数据。 第一行输入两个正整数 $n$ 和 $p$。 第二行输入 $n$ 个整数 $a_1, a_2, \cdots, a_n$。 第三行输入 $n$ 个整数 $b_1, b_2, \cdots, b_n$。 相邻整数之间用一个空格隔开。

输出格式

输出到标准输出。 输出一行,包含 $n$ 个整数 $c_1, c_2, \cdots, c_n$。 相邻整数之间用一个空格隔开。

说明/提示

本题共有 50 个测试点,每个测试点 2 分。 对于所有的测试点,输入的 $a_1, a_2, \cdots, a_n$ 和 $b_1, b_2, \cdots, b_n$ 均为不大于 $10$ 的正整数。 - 对于前 10 个测试点,$n = 15$,且 $p = 1, 2, \cdots, 10$ 各一个测试点; - 对于接下来 10 个测试点,$n = 511$,且 $p = 1, 2, \cdots, 10$ 各一个测试点; - 对于接下来 10 个测试点,$n = 8191$,且 $p = 1, 2, \cdots, 10$ 各一个测试点; - 对于接下来 10 个测试点,$n = 65535$,且 $p = 1, 2, \cdots, 10$ 各一个测试点; - 对于最后 10 个测试点,$n = 262143$,且 $p = 1, 2, \cdots, 10$ 各一个测试点。