luogu#P8366. [LNOI2022] 题

[LNOI2022] 题

题目描述

给定长度为 3n3 n、值域为 [0,3][0, 3] 的整数序列 S=s1s2s3nS = s_1 s_2 \cdots s_{3 n}。你需要首先将 SS 中的每个 00 替换为 [1,3][1, 3] 中的任意一个整数,得到序列 T=t1t2t3nT = t_1 t_2 \cdots t_{3 n},然后给出 nn 个长度为 33 的整数序列 ${\{ a_{i, 1}, a_{i, 2}, a_{i, 3} \}}_{1 \le i \le n}$,使得

  • 1in\forall 1 \le i \le n1ai,1<ai,2<ai,33n1 \le a_{i, 1} < a_{i, 2} < a_{i, 3} \le 3 n
  • (i1,j1)(i2,j2)\forall (i_1, j_1) \ne (i_2, j_2)ai1,j1ai2,j2a_{i_1, j_1} \ne a_{i_2, j_2}
  • 1in\forall 1 \le i \le n{tai,1,tai,2,tai,3}\{ t_{a_{i, 1}}, t_{a_{i, 2}}, t_{a_{i, 3}} \}{1,2,3}\{ 1, 2, 3 \} 的一个排列且逆序对数为奇数。

认为两个方案本质不同当且仅当序列 TT 不同或存在 ai,ja_{i, j}1in1 \le i \le n1j31 \le j \le 3)不同,求以上操作的本质不同的方案数,对 (109+7)({10}^9 + 7) 取模。

输入格式

本题有多组测试数据。输入的第一行包含一个正整数 CC 表示测试数据组数。

对于每组测试数据,第一行一个整数 nn,接下来一行一个长度为 3n3 n 的字符串描述序列 SS

输出格式

对于每组测试数据输出一行一个整数表示方案数对 (109+7)({10}^9 + 7) 取模的结果。

5
1
123
1
100
1
000
2
321321
2
000001

0
1
3
6
60

提示

【样例解释 #1】

前三组测试数据中 n=1n = 1,故 {a1,1,a1,2,a1,3}={1,2,3}\{ a_{1, 1}, a_{1, 2}, a_{1, 3} \} = \{ 1, 2, 3 \}

对于第一组测试数据,只能有 T=123T = 123,而 {1,2,3}\{ 1, 2, 3 \} 的逆序对数为 00 不合法,故不存在方案。

对于第二组测试数据,T=123T = 123 不合法,而 T=132T = 132{1,3,2}\{ 1, 3, 2 \} 的逆序对数为 11 合法,故存在一个方案。

对于第三组测试数据,取 T=132T = 132T=213T = 213T=321T = 321 可以得到三个合法方案。

对于第四组测试数据,T=321321T = 321321,有如下六种方案:

  • {a1,1,a1,2,a1,3}={1,2,3}\{ a_{1, 1}, a_{1, 2}, a_{1, 3} \} = \{ 1, 2, 3 \}{a2,1,a2,2,a2,3}={4,5,6}\{ a_{2, 1}, a_{2, 2}, a_{2, 3} \} = \{ 4, 5, 6 \}
  • {a1,1,a1,2,a1,3}={4,5,6}\{ a_{1, 1}, a_{1, 2}, a_{1, 3} \} = \{ 4, 5, 6 \}{a2,1,a2,2,a2,3}={1,2,3}\{ a_{2, 1}, a_{2, 2}, a_{2, 3} \} = \{ 1, 2, 3 \}
  • {a1,1,a1,2,a1,3}={1,2,6}\{ a_{1, 1}, a_{1, 2}, a_{1, 3} \} = \{ 1, 2, 6 \}{a2,1,a2,2,a2,3}={3,4,5}\{ a_{2, 1}, a_{2, 2}, a_{2, 3} \} = \{ 3, 4, 5 \}
  • {a1,1,a1,2,a1,3}={3,4,5}\{ a_{1, 1}, a_{1, 2}, a_{1, 3} \} = \{ 3, 4, 5 \}{a2,1,a2,2,a2,3}={1,2,6}\{ a_{2, 1}, a_{2, 2}, a_{2, 3} \} = \{ 1, 2, 6 \}
  • {a1,1,a1,2,a1,3}={1,5,6}\{ a_{1, 1}, a_{1, 2}, a_{1, 3} \} = \{ 1, 5, 6 \}{a2,1,a2,2,a2,3}={2,3,4}\{ a_{2, 1}, a_{2, 2}, a_{2, 3} \} = \{ 2, 3, 4 \}
  • {a1,1,a1,2,a1,3}={2,3,4}\{ a_{1, 1}, a_{1, 2}, a_{1, 3} \} = \{ 2, 3, 4 \}{a2,1,a2,2,a2,3}={1,5,6}\{ a_{2, 1}, a_{2, 2}, a_{2, 3} \} = \{ 1, 5, 6 \}

【样例 #2】

见附件中的 problem/problem2.inproblem/problem2.ans

该组样例中五组数据的 nn 分别为 3,5,8,12,173, 5, 8, 12, 17

【样例 #3】

见选手目录下的 problem/problem3.inproblem/problem3.ans

该组样例满足特殊性质 A,五组数据的 nn 分别为 2,4,7,15,192, 4, 7, 15, 19

【数据范围】

对于所有测试数据,1C51 \le C \le 51n191 \le n \le 19,字符串 SS 的长度为 3n3 n 且仅由 0,1,2,30, 1, 2, 3 构成。

测试点编号 nn \le 特殊性质
11
22
33
44 55 A
55 77
66 1010
77 1313 A
88 1616
99 1818
1010 1919

特殊性质 A:字符串 SS 由全 00 的字符串构成。

【提示】

请注意程序的空间消耗。