CF1336E2 Chiori and Doll Picking (hard version)
题目描述
这是该问题的困难版本。简单版本与困难版本的唯一区别在于 $m$ 的约束条件。只有当你同时解决了两个版本,才能进行 hack。
Chiori 喜欢娃娃,现在她打算装饰自己的卧室!
作为一个娃娃收藏家,Chiori 拥有 $n$ 个娃娃。第 $i$ 个娃娃有一个非负整数值 $a_i$($a_i < 2^m$,$m$ 已知)。Chiori 想要选择一些(可以为零个)娃娃来装饰房间,因此一共有 $2^n$ 种选择方式。
设 $x$ 为 Chiori 选择的所有娃娃的值的按位异或和(如果 Chiori 没有选择任何娃娃,则 $x = 0$)。这种选择方式的价值定义为 $x$ 的二进制表示中 $1$ 的个数。更正式地说,也等于满足 $0 \leq i < m$ 且 $\left\lfloor \frac{x}{2^i} \right\rfloor$ 为奇数的 $i$ 的个数。
请你告诉她,对于每个整数 $i$,$0 \leq i \leq m$,有多少种选择方式的价值等于 $i$。由于答案可能非常大,请对 $998\,244\,353$ 取模后输出。
输入格式
第一行包含两个整数 $n$ 和 $m$($1 \le n \le 2 \cdot 10^5$,$0 \le m \le 53$)——娃娃的数量和选择方式的最大价值。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i < 2^m$)——每个娃娃的值。
输出格式
输出 $m+1$ 个整数 $p_0, p_1, \ldots, p_m$,其中 $p_i$ 表示价值为 $i$ 的选择方式数量,对 $998\,244\,353$ 取模。
说明/提示
由 ChatGPT 4.1 翻译