#P17125. [ICPC 2025 Shanghai R] Flower' s land 3

[ICPC 2025 Shanghai R] Flower' s land 3

背景

试题来自 清华大学学生算法协会

题目描述

在磁盘 #1 上存储着一个长度为 mm 的二进制字符串 s1s_1

随后,依次进行 n1n - 1 次操作。在第 ii 次操作中,会选择一个磁盘 1pi+1i1 \le p_{i+1} \le i,将该磁盘上的字符串 spi+1s_{p_{i+1}} 复制到磁盘 i+1i + 1 上,从而产生 si+1s_{i+1}。然而,在复制过程中,最多可能有 kk 个比特发生翻转(即最多在 kk 个位置上出现错误)。

现在给定最终得到的全部 nn 个二进制字符串 s1,s2,,sns_1, s_2, \cdots, s_n,每个长度均为 mm。你的任务是计算有多少种可能的序列 p2,p3,,pnp_2, p_3, \cdots, p_n 能够形成这样的最终局面。

由于答案可能很大,你只需要求出答案对 998244353998244353 取模的结果。

输入格式

第一行包含三个整数 nnmmkk (2n50002 \le n \le 50004m150004 \le m \le 150001k31 \le k \le 3),含义如题所述。保证 mm44 的倍数。

接下来 nn 行,每行包含一个长度为 m/4m/4 的十六进制字符串 sis_i'sis_i' 的每个字符均为 0099AAFF,其中 A=10A = 10B=11B = 11\cdotsF=15F = 15

十六进制表示 sis_i' 中的每一位对应二进制字符串 sis_i 中的连续 44 个比特。具体而言,对于每一位 si,js'_{i,j},可以证明存在唯一的四元组 (a,b,c,d)(a,b,c,d) 满足 si,j=8a+4b+2c+ds'_{i,j} = 8a + 4b + 2c + da,b,c,d{0,1}a,b,c,d \in \{0,1\}。二进制字符串 sis_i 中的比特满足 $(s_{i,4j}, s_{i,4j+1}, s_{i,4j+2}, s_{i,4j+3}) = (a,b,c,d)$。

输出格式

输出一个整数——合法的序列 (p2,p3,,pn)(p_2, p_3, \cdots, p_n) 的数量对 998244353998244353 取模的结果。

5 8 2
95
05
BD
9C
BD
6

提示

翻译由 DeepSeek V4 Pro 完成