题目描述
给定正整数 n,m 和 n 个区间,第 i 个区间为 [li,ri],保证 0≤li≤ri<2m。
对于非负整数 x,记 Sm(x) 表示 x 在二进制下最低的 m 位依次连接成的 01
串,如果不足 m 位则在高位补 0。
对于 k=1,2,⋯,n,求有多少非负整数序列 a1,a2,⋯,ak 满足下列条件。
- 对于所有 1≤i≤k,li≤ai≤ri。
- $S _ m(a _ 1 \oplus a _ 2 \oplus \cdots \oplus a _ k)$ 是回文串,其中 ⊕ 表示按位异或运算。
答案对 998244353 取模。
输入格式
输入共 n+1 行。
第一行包含两个正整数 n,m。
接下来 n 行,每行两个非负整数 li,ri,表示第 i 号区间是 [li,ri]。
输出格式
共 n 行,第 i 行有一个非负整数,表示当 k=i 时的答案。
4 2
1 3
2 3
0 0
1 2
1
3
3
6
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$。
共 25 个测试点,每个测试点 4 分,具体测试点范围见下表。
测试点编号 |
1≤n≤ |
1≤m≤ |
特殊性质 |
1 |
3 |
无 |
2 |
9 |
3 |
12 |
4∼5 |
18 |
6∼8 |
40 |
16 |
9 |
30 |
10 |
60 |
li=0 |
11 |
1 |
无 |
12∼13 |
4 |
14∼16 |
8 |
17∼18 |
18 |
19∼20 |
30 |
21 |
34 |
22 |
36 |
23 |
38 |
24∼25 |
40 |