Chiori and Doll Picking (hard version)
题意翻译
你有一个长度为 $n(n\le200000)$ 的序列,每个数的权值小于 $2^m(m\le53)$。
定义一个子序列的权值为子序列所有数的异或和的二进制表示中$1$的个数。
对于所有$i\in[0,m]$,输出所有$2^n$ 个子序列中权值为 $i$ 的子序列的个数$\mod 998244353$的值。
题目描述
This is the hard version of the problem. The only difference between easy and hard versions is the constraint of $ m $ . You can make hacks only if both versions are solved.
Chiori loves dolls and now she is going to decorate her bedroom!
![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1336E2/7f2871c87cb2f7ef2408d5e1359121eb7612b9c0.png)As a doll collector, Chiori has got $ n $ dolls. The $ i $ -th doll has a non-negative integer value $ a_i $ ( $ a_i < 2^m $ , $ m $ is given). Chiori wants to pick some (maybe zero) dolls for the decoration, so there are $ 2^n $ different picking ways.
Let $ x $ be the bitwise-xor-sum of values of dolls Chiori picks (in case Chiori picks no dolls $ x = 0 $ ). The value of this picking way is equal to the number of $ 1 $ -bits in the binary representation of $ x $ . More formally, it is also equal to the number of indices $ 0 \leq i < m $ , such that $ \left\lfloor \frac{x}{2^i} \right\rfloor $ is odd.
Tell her the number of picking ways with value $ i $ for each integer $ i $ from $ 0 $ to $ m $ . Due to the answers can be very huge, print them by modulo $ 998\,244\,353 $ .
输入输出格式
输入格式
The first line contains two integers $ n $ and $ m $ ( $ 1 \le n \le 2 \cdot 10^5 $ , $ 0 \le m \le 53 $ ) — the number of dolls and the maximum value of the picking way.
The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 0 \le a_i < 2^m $ ) — the values of dolls.
输出格式
Print $ m+1 $ integers $ p_0, p_1, \ldots, p_m $ — $ p_i $ is equal to the number of picking ways with value $ i $ by modulo $ 998\,244\,353 $ .
输入输出样例
输入样例 #1
4 4
3 5 8 14
输出样例 #1
2 2 6 6 0
输入样例 #2
6 7
11 45 14 9 19 81
输出样例 #2
1 2 11 20 15 10 5 0