CF2096H.Wonderful XOR Problem

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你是...算了,直接解决这个问题吧。

有 nn 个区间 [l1,r1],[l2,r2],…[ln,rn][l_1, r_1], [l_2, r_2], \ldots [l_n, r_n]。对于每个 xx 从 00 到 2m−12^m - 1,求满足以下条件的序列 a1,a2,…ana_1, a_2, \ldots a_n 的数量(模 998 244 353998\,244\,353):

  • 对于所有 ii 从 11 到 nn,有 li≤ai≤ril_i \leq a_i \leq r_i;
  • a1⊕a2⊕…⊕an=xa_1 \oplus a_2 \oplus \ldots \oplus a_n = x,其中 ⊕\oplus 表示按位异或运算符。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1041 \le t \le 10^4)。接下来是每个测试用例的描述。

第一行包含两个整数 nn 和 mm(1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5,1≤m≤181 \leq m \leq 18)。

接下来的 nn 行中,第 ii 行包含两个整数 lil_i 和 rir_i(0≤li≤ri<2m0 \leq l_i \leq r_i < 2^m)。

保证所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5,且所有测试用例的 2m2^m 之和不超过 2182^{18}。

输出格式

对于每个 xx 从 00 到 2m−12^m - 1,定义:

  • fxf_x 为有效序列的数量,模 998 244 353998\,244\,353;
  • gx=fx⋅2xmod  998 244 353g_x = f_x \cdot 2^x \mod 998\,244\,353。

这里,fxf_x 和 gxg_x 都是区间 [0,998 244 352][0, 998\,244\,352] 内的整数。

设 h=g0⊕g1⊕…⊕g2m−1h = g_0 \oplus g_1 \oplus \ldots \oplus g_{2^m - 1}。

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

输入输出样例

  • 输入#1

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

    输出#1

    22
    9812
    75032210
    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=f0⋅20=2⋅20=2g_0 = f_0 \cdot 2^0 = 2 \cdot 2^0 = 2;
  • g1=f1⋅21=2⋅21=4g_1 = f_1 \cdot 2^1 = 2 \cdot 2^1 = 4;
  • g2=f2⋅22=2⋅22=8g_2 = f_2 \cdot 2^2 = 2 \cdot 2^2 = 8;
  • g3=f3⋅23=3⋅23=24g_3 = f_3 \cdot 2^3 = 3 \cdot 2^3 = 24。

因此,输出的值为 2⊕4⊕8⊕24=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。

翻译由 DeepSeek V3 完成

输入解题思路,AI测评打分。不知道怎么写?

首页