#HK6878. 生不逢时

生不逢时

题目描述

给定正整数 n,mn, m 和 nn 个区间,第 ii 个区间为 [li,ri][l _ i, r _ i],保证 0≤li≤ri<2m0 \leq l_i \leq r_i < 2^m。

对于非负整数 xx,记 Sm(x)S _ m(x) 表示 xx 在二进制下最低的 mm 位依次连接成的 01 串,如果不足 mm 位则在高位补 00。

对于 k=1,2,⋯ ,nk = 1, 2, \cdots ,n,求有多少非负整数序列 a1,a2,⋯ ,aka _ 1, a _ 2, \cdots, a _ k 满足下列条件。

  • 对于所有 1≤i≤k1 \leq i \leq k,li≤ai≤ril _ i \leq a _ i \leq r _ i。
  • $S _ m(a _ 1 \oplus a _ 2 \oplus \cdots \oplus a _ k)$ 是回文串,其中 ⊕\oplus 表示按位异或运算。

答案对 998244353998244353 取模。

输入格式

输入共 n+1n + 1 行。

第一行包含两个正整数 n,mn, m。

接下来 nn 行,每行两个非负整数 li,ril _ i, r _ i,表示第 ii 号区间是 [li,ri][l _ i, r _ i]。

输出格式

共 nn 行,第 ii 行有一个非负整数,表示当 k=ik = i 时的答案。

4 2
1 3
2 3
0 0
1 2
1
3
3
6

以 k=nk = n 时为例,满足题目所述条件的 66 个序列分别为 [1,3,0,1][1, 3, 0, 1]、[1,3,0,2][1, 3, 0, 2]、[2,3,0,1][2, 3, 0, 1]、[2,3,0,2][2, 3, 0, 2]、[3,2,0,1][3, 2, 0, 1]、[3,2,0,2][3, 2, 0, 2]。

5 3
0 2
2 7
2 6
1 2
4 5
2
9 
45
90
180

数据范围与提示

对于所有数据,满足 $1 \le n \le 40, 1 \le m \le 60, 0 \le l _ i \le r _ i < 2 ^ m$。

共 2525 个测试点,每个测试点 44 分,具体测试点范围见下表。

测试点编号 1≤n≤1 \le n \le 1≤m≤1 \le m \le 特殊性质
11 33 无
22 99
33 1212
4∼54 \sim 5 1818
6∼86 \sim 8 4040 1616
99 3030
1010 6060 li=0l _ i = 0
1111 11 无
12∼1312 \sim 13 44
14∼1614 \sim 16 88
17∼1817 \sim 18 1818
19∼2019 \sim 20 3030
2121 3434
2222 3636
2323 3838
24∼2524 \sim 25 4040