题目大意:给你$n$个不大于$m$的质数,求有多少种方案,使得这$n$个数的异或和为$0$.其中,$n≤10^9,m≤10^5$. 考虑正常地dp,我们用$f[i][j]$表示前$i$个数的异或和为$j$的方案数. 我们构造一个数组$g$,若i为不大于$m$的质数,则$g[i]=1$,否则为$0$. 那么显然,$f[i][j]=\sum f[i-1][k]\times g[j \oplus k]$. 其中$j \oplus k$表示$j$和$k$的按位异或. 然后我们不难发现,$f[i]为f[…