#P13985. Xor

Xor

Xor

  • 时间限制:2s
  • 空间限制:1024MB

题目描述

nn 个区间 [l1,r1],[l2,r2],,[ln,rn][l_1,r_1],[l_2,r_2],\dots,[l_n,r_n]。对于每个 xx002m12^m-1,求满足以下条件的序列 a1,a2,,ana_1,a_2,\dots,a_n 的数量(模 998244353998244353):

  • 对于所有 ii11nn,有 liairil_i \le a_i \le r_i
  • a1a2an=xa_1 \oplus a_2 \oplus \cdots \oplus a_n = x,其中 \oplus 表示按位异或运算符。

输入格式

第一行包含两个整数 nnmm

接下来的 nn 行中,第 ii 行包含两个整数 lil_irir_i0liri<2m0 \le l_i \le r_i < 2^m)。

输出格式

对于每个 xx002m12^m-1,定义:

  • fxf_x 为有效序列的数量,模 998244353998244353
  • gx=fx2xmod998244353g_x = f_x \cdot 2^x \bmod 998244353

这里,fxf_xgxg_x 都是区间 [0,998244352][0,998244352] 内的整数。

设:

$$h = g_0 \oplus g_1 \oplus \cdots \oplus g_{2^m-1}.$$

输出一个整数——hh 的值本身。不要进行模运算。

输入输出样例

2 2
0 2
1 3
22
5 3
3 7
1 3
0 2
1 5
3 6
9812
10 14
314 1592
653 5897
932 3846
264 3383
279 5028
841 9716
939 9375
105 8209
749 4459
230 7816
75032210
1 5
0 29
1073741823

说明/提示

对于第一个测试用例,fxf_x 的值如下:

  • f0=2f_0=2,因为有 22 个有效序列:[1,1][1,1][2,2][2,2]
  • f1=2f_1=2,因为有 22 个有效序列:[0,1][0,1][2,3][2,3]
  • f2=2f_2=2,因为有 22 个有效序列:[0,2][0,2][1,3][1,3]
  • f3=3f_3=3,因为有 33 个有效序列:[0,3][0,3][1,2][1,2][2,1][2,1]

gxg_x 的值如下:

  • g0=f020=220=2g_0=f_0\cdot 2^0=2\cdot 2^0=2
  • g1=f121=221=4g_1=f_1\cdot 2^1=2\cdot 2^1=4
  • g2=f222=222=8g_2=f_2\cdot 2^2=2\cdot 2^2=8
  • g3=f323=323=24g_3=f_3\cdot 2^3=3\cdot 2^3=24

因此,输出的值为 24824=222 \oplus 4 \oplus 8 \oplus 24 = 22

对于第二个测试用例,fxf_x 的值如下:

  • f0=120f_0=120
  • f1=120f_1=120
  • f2=119f_2=119
  • f3=118f_3=118
  • f4=105f_4=105
  • f5=105f_5=105
  • f6=106f_6=106
  • f7=107f_7=107

数据范围

子任务 nn \le mm \le 特殊性质 分数
1 100100 99 5
2 1515 15
3 2×1052 \times 10^5 1818 li=1,ri=2k1 (k=1,2,,18)l_i=1,\, r_i=2^k-1\ (k=1,2,\dots,18) 10
4 40004000 1515 20
5 2×1052 \times 10^5
6 1818 30