#P14241. [CCPC 2024 Shandong I] 传感器

[CCPC 2024 Shandong I] 传感器

题目描述

nn 颗红球排成一行,从左到右编号从 00(n1)(n - 1)(含两端)。我们将进行 nn 次操作,其中第 ii 次操作将第 aia_i 颗球涂成蓝色。所有操作结束后,所有球都会变成蓝色。

mm 个编号从 11mm(含两端)的传感器监控球的颜色。若第 lil_i 颗球到第 rir_i 颗球(含两端)里恰有一颗红球,则第 ii 个传感器将进入激活状态;否则传感器将保持非激活状态。

问每次操作结束后,哪些传感器处于激活状态。

更具体地,设第 ii 次操作结束后共有 kik_i 个传感器处于激活状态,它们的编号是 si,1,si,2,,si,kis_{i, 1}, s_{i, 2}, \cdots, s_{i, k_i}。对于每个 0in0 \le i \le n,输出 vi=j=1kisi,j2v_i = \sum\limits_{j = 1}^{k_i} s_{i, j}^2。特别地,定义 v0=j=1k0s0,j2v_0 = \sum\limits_{j = 1}^{k_0} s_{0, j}^2,其中 k0k_0 是第一次操作之前处于激活状态的传感器数量,它们的编号为 s0,1,s0,2,,s0,k0s_{0, 1}, s_{0, 2}, \cdots, s_{0, k_0}

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数。对于每组测试数据:

第一行输入两个整数 nnmm1n,m5×1051 \le n, m \le 5 \times 10^5)表示球的数量和传感器的数量。

对于接下来 mm 行,第 ii 行输入两个整数 lil_irir_i0liri<n0 \le l_i \le r_i < n)表示第 ii 个传感器的检测范围。

接下来的一行输入 nn 个整数 a1,a2,,ana'_1, a'_2, \cdots, a'_n0ai<n0 \le a'_i < n),其中 aia'_i 表示 加密后的\textbf{加密后的}ii 次操作。 aia_i 的真实值等于 (ai+vi1)modn(a'_i + v_{i - 1}) \bmod n,其中 vi1v_{i - 1} 是第 (i1)(i - 1) 次操作后的答案,在上述描述中已有定义。这些加密后的操作强制您必须计算好当前操作的答案,才能处理下一个操作。保证解密后 aia_i 互不相同。

保证所有数据 nn 之和与 mm 之和均不超过 5×1055 \times 10^5

输出格式

每组数据输出一行 (n+1)(n + 1) 个由单个空格分隔的整数 v0,v1,,vnv_0, v_1, \cdots, v_nviv_i 的含义在上述描述中已有定义。

3
5 4
2 4
2 3
3 3
0 2
3 2 4 2 0
2 1
1 1
1 0
2 1
0 1
0 0
9 13 29 17 16 0
1 1 0
0 1 0

提示

对于第一组样例数据:

  • 在第一次操作之前,只有传感器 33 处于激活状态,所以 v0=32=9v_0 = 3^2 = 9
  • 对于第 11 次操作,真实的 a1=(3+9)mod5=2a_1 = (3 + 9) \bmod 5 = 2。本次操作后,传感器 2233 处于激活状态,所以 v1=22+32=13v_1 = 2^2 + 3^2 = 13
  • 对于第 22 次操作,真实的 a2=(2+13)mod5=0a_2 = (2 + 13) \bmod 5 = 0。本次操作后,传感器 223344 处于激活状态,所以 v2=22+32+42=29v_2 = 2^2 + 3^2 + 4^2 = 29
  • 对于第 33 次操作,真实的 a3=(4+29)mod5=3a_3 = (4 + 29) \bmod 5 = 3。本次操作后,传感器 1144 处于激活状态,所以 v3=12+42=17v_3 = 1^2 + 4^2 = 17
  • 对于第 44 次操作,真实的 a4=(2+17)mod5=4a_4 = (2 + 17) \bmod 5 = 4。本次操作后,只有传感器 44 处于激活状态,所以 v4=42=16v_4 = 4^2 = 16
  • 对于第 55 次操作,真实的 a5=(0+16)mod5=1a_5 = (0 + 16) \bmod 5 = 1。本次操作后,没有传感器处于激活状态,所以 v5=0v_5 = 0