#P6760. 「2020 营员交流」小 ω 的魔方

    ID: 2936 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>子任务多项式 / 形式幂级数组合计数生成函数 / 母函数2020

「2020 营员交流」小 ω 的魔方

题目描述

小 ω\omega 在家里闷得慌,于是开始玩起了魔方。不一会儿,她就变成了甩杜宇生千里的魔方高手。

在长时间的训练中,小 ω\omega 对魔方已经玩腻了,不拘泥于只是还原魔方。于是她开始拆起了魔方。

与众不同的是,别人拆魔方都是拆那 2626 个小块,她却开始拆那 5454 张贴纸。

不一会儿,她就将原来魔方的 5454 张贴纸拆完了,得到一个雪(hei)白(de)雪(fa)白(liang)的魔方。

正巧,小 χ\chi 来到她家做客,看到小 ω\omega 桌上琳琅满目的贴纸,也想自己组装一个魔方。

这些贴纸各不相同,有的画着可爱的猫猫,有的画着蜘蛛侠,有的上面还有小 ω\omega 的***。

已知,桌上有 YY 种黄色贴纸、WW 种白色贴纸、RR 种红色贴纸、OO 种橙色贴纸、BB 种蓝色贴纸以及 GG 种绿色贴纸。每种颜色的贴纸均有无限多个。

小 χ\chi 对每种贴纸的喜好程度各有不同,具体地,(无视颜色的条件下) 她也将所有贴纸分别为三类:好看的,一般般的以及难看的,她分别将这三种贴纸的好看度定义为 1,0,−11, 0, -1。

我们用 CiC_i ($C \in \left\{ \texttt Y, \texttt W, \texttt R, \texttt O, \texttt B, \texttt G \right\}, i \in \left\{ -1, 0, 1 \right\} $) 表示颜色为 CC 且好看度为 ii 的贴纸种数,例如,B−1B_{-1} 表示难看的蓝色贴纸的种数。

然后,她将一个魔方的好看度定义为所有 5454 张贴纸的好看度之和。

由于小 χ\chi 不懂魔方,因此她认为:只要使用了每种颜色的贴纸各 99 张,所得到的就是一个合法的魔方。尽管它可能不满足黄白相对,甚至无法复原,抑或是根本不存在 (比如黄白棱块就是不存在的)。

自然,小 χ\chi 就有很多 "组装" 魔方的方案 ("组装" 即贴贴纸)。她想知道,对于每种最终的好看度 kk,有多少种 (本质) 不同的 "组装" 魔方的方案,使得最终的好看度为 kk 呢?

小 χ\chi 瞥了一眼小 ω\omega 的书房,发现小 ω\omega 还有四阶、五阶,乃至 nn (n≤1000n \leq 1000) 阶魔方。于是她想对这些魔方都进行组装 (反正她们待在家里,时间充裕),于是你也需要帮她对这些高阶魔方进行回答。

当然,对于 nn 阶魔方,上面的参数也需要进行更改。具体地,你需要将上文中的 26,54,926, 54, 9 分别替换为 6n2−12n+8,6n2,n26 n^2 - 12 n + 8, 6 n^2, n^2,特别地,当 n=1n = 1 时将它们替换为 1,6,11, 6, 1。

注意:如果两种方案可以在三维空间中旋转整个魔方而全等,则认为这两种方案是 (本质) 相同的。注意小 ω\omega 和小 χ\chi 生活在三维空间中,因此它们不能对魔方进行镜像。

两个方案全等,当且仅当每个位置上使用的贴纸种类相同,注意一种贴纸可以使用多次,你不需要关心贴纸的朝向问题,即不妨假设贴纸上的图案是完全对称的。

输入格式

第一行包含两个正整数 n,Pn, P,分别表示魔方的阶数以及输出控制参数。输出控制参数的具体含义将在「输出格式」中解释。

第二行包含三个非负整数 Y−1,Y0,Y1Y_{-1}, Y_0, Y_1,分别表示难看的,一般般的,好看的黄色贴纸的种数。

第三行包含三个非负整数 W−1,W0,W1W_{-1}, W_0, W_1,意义同上。

第四行包含三个非负整数 R−1,R0,R1R_{-1}, R_0, R_1,意义同上。

第五行包含三个非负整数 O−1,O0,O1O_{-1}, O_0, O_1,意义同上。

第六行包含三个非负整数 B−1,B0,B1B_{-1}, B_0, B_1,意义同上。

第七行包含三个非负整数 G−1,G0,G1G_{-1}, G_0, G_1,意义同上。

输出格式

容易得到,最终魔方的好看度的取值范围为 [−6n2,6n2]\left[ - 6 n^2, 6 n^2 \right] 中的一个整数。我们保证 PP 是一个不超过 12n2+112 n^2 + 1 的正奇数。

具体地,你只需要输出一行,包含 PP 个整数,其中第 ii (1≤i≤P1 \leq i \leq P) 个整数表示所有满足 k≡i−P+12(modP)k \equiv i - \dfrac {P + 1} 2 \pmod P 且 k∈[−6n2,6n2]k \in \left[ - 6 n^2, 6 n^2 \right] 的答案 (即好看度为 kk 的方案数) 模 109+710^9 + 7 后的异或和。

注意:设置 PP 仅仅是为了减少输出量大小,标准算法不依赖于 PP 的取值。

1 1
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0

30

特别地,一阶魔方无法进行 (除了整体外的) 旋转,于是它只是一个用于观赏的立方体。

所有颜色的贴纸只有一种,因此最终魔方的好看度一定为 00。这 3030 种不同的魔方如下图 (用展开图表示):

30 种不同方案
1 13
1 2 3
4 5 6
7 8 9
8 7 6
5 4 3
0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0

没有绿色贴纸,故无法组装成魔方。

2 1
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0

940906141

精确的答案是 $135277941853080 = 2^3 \cdot 3^2 \cdot 5 \cdot 13 \cdot 131 \cdot 220653001$。

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

0 0 0 0 0 0 0 0 0 0 0 0 544749501 63051590 218701224 413209526 327036606 45871124 278106738 7308476 883834532 409278631 11668780 265789093 928895648 709317318 640274261 565809249 497467741 298018595 559073055 546178223 415655107 865831011 530349718 975815643 473116100 0 0 0 0 0 0 0 0 0 0 0 0

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

853739401 367219837 1039890180 359147035 571647095 900068407 155830037

该组样例为样例四的 "压缩" 后版本,因为避免过大的输出,常常会设置一个压缩系数。在本例是,七个数分别代表 −3,−2,−1,0,1,2,3-3, -2, -1, 0, 1, 2, 3 这七个同余类。

如,输出的第五个数就表示所有好看度 ≡1(mod7)\equiv 1 \pmod 7 的方案数的异或和,即有 $571647095 = 0 \oplus 0 \oplus 278106738 \oplus 709317318 \oplus 415655107 \oplus 0 \oplus 0$。

36 13
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18

656572069 316067026 492665298 350073114 109939730 141830812 721782114 395247388 823354680 250237378 268736953 334191590 721990568

样例 7

见附加文件中的 ex_rubik7.in 与 ex_rubik7.out。

该组样例满足子任务 2525 的性质。

数据范围与提示

对于所有的测试点,均满足 $1 \leq n \leq 1000; 1 \leq P \leq \min \left\{ 12 n^2 + 1, 200467 \right\}; 0 \leq Y_{-1}, Y_0, Y_1, \cdots, G_{-1}, G_0, G_1 \leq 10^9 + 6$,且 PP 为奇数。

具体的子任务的数据规模见下表:

子任务 分值 nn 其它性质
1 44 =1= 1 S
2 33 D
3 33 无
4 33 =2= 2 S
5 22 D
6 22 无
7 33 =3= 3 S
8 22 D
9 22 无
10 44 ≤10\leq 10 S
11 33 D
12 33 M
13 22 无
14 44 ≤35\leq 35 S
15 33 D
16 33 M
17 22 无
18 55 ≤200\leq 200 S
19 44 D
20 44 M
21 33 无
22 66
≤1000\leq 1000
且
≡±1(mod6)\equiv \pm 1 \pmod 6
S
23 55 D
24 55 M
25 44 无
26 55 ≤1000\leq 1000 S
27 44 D
28 44 M
29 33 无

表中“其它性质”一栏,变量的含义如下:

  • S (single):对于所有颜色 CC,保证 C−1=C1=0C_{-1} = C_1 = 0。
  • D (double):对于所有颜色 CC,保证 C0=0C_0 = 0。
  • M (monic):对于所有颜色 CC,保证 C−1=C0=C1=1C_{-1} = C_0 = C_1 = 1。