P14654 夤生月
题目描述
小 L 给你出了一道简单数学题。
对于一个长度为 $n$ 的排列 $p_n$,我们在 $i$ 与 $p_i$ 之间连无向边,设形成的连通块个数为 $C(p_n)$。
对于一个连通块 $S$,如果他包含的点的编号为 $x_1,x_2\dots x_k$,那么他的权值为 $w(S)=\sum\limits_{i=1}^k 2^{x_i}$。
如果连通块分别为 $S_1,S_2\dots S_{C(p_n)}$,那么记该排列的权值为 $\sum\limits_{i=1}^{C(p_n)}2^{w(S_i)}$。
记 $F(n,m)$ 表示 $C(p_n)=m$ 的 $p_n$ 个数。
记 $G(n,m)$ 为 $C(p_n)=m$ 的 $p_n$ 的不同权值数量。
这里认为 $F(0,0)=G(0,0)=1$。
现在有 $Q$ 次询问,每次给出 $op,n,m$:
- 如果 $op=1$,你需要输出 $F(n,m)\bmod 2$。
- 如果 $op=2$,你需要输出 $G(n,m)\bmod 2$。
输入格式
第一行一个整数 $Q$ 代表询问次数。
接下来 $Q$ 行,每行三个整数 $op,n,m$ 代表小 L 的一次询问。
- 如果 $op=1$,你需要输出 $F(n,m)\bmod 2$。
- 如果 $op=2$,你需要输出 $G(n,m)\bmod 2$。
输出格式
一行一个长度为 $Q$ 的 $01$ 字符串代表答案序列。
说明/提示
- 对于 $20\%$ 的数据,$0\leq n,m\leq 10$。
- 对于 $40\%$ 的数据,$0\leq n,m\leq 5000$。
- 对于另外 $15\%$ 的数据,$op=1$。
- 对于另外 $15\%$ 的数据,$op=2$。
- 对于另外 $15\%$ 的数据,$0\leq n,m\leq 10^5$。
- 对于 $100\%$ 的数据,$1\leq Q\leq 10^6,0\leq n,m\leq 10^9,1\leq op\leq 2$。