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

[CCPC 2024 Shandong I] 传感器

题目描述

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

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

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

更具体地,设第 ii 次操作结束后共有 kik_i 个传感器处于激活状态,它们的编号是 si,1,si,2,⋯ ,si,kis_{i, 1}, s_{i, 2}, \cdots, s_{i, k_i}。对于每个 0≤i≤n0 \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 表示测试数据组数。对于每组测试数据:

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

对于接下来 mm 行,第 ii 行输入两个整数 lil_i 和 rir_i(0≤li≤ri<n0 \le l_i \le r_i < n)表示第 ii 个传感器的检测范围。

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

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

输出格式

每组数据输出一行 (n+1)(n + 1) 个由单个空格分隔的整数 v0,v1,⋯ ,vnv_0, v_1, \cdots, v_n。viv_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) mod 5=2a_1 = (3 + 9) \bmod 5 = 2。本次操作后,传感器 22 和 33 处于激活状态,所以 v1=22+32=13v_1 = 2^2 + 3^2 = 13。
  • 对于第 22 次操作,真实的 a2=(2+13) mod 5=0a_2 = (2 + 13) \bmod 5 = 0。本次操作后,传感器 22,33 和 44 处于激活状态,所以 v2=22+32+42=29v_2 = 2^2 + 3^2 + 4^2 = 29。
  • 对于第 33 次操作,真实的 a3=(4+29) mod 5=3a_3 = (4 + 29) \bmod 5 = 3。本次操作后,传感器 11 和 44 处于激活状态,所以 v3=12+42=17v_3 = 1^2 + 4^2 = 17。
  • 对于第 44 次操作,真实的 a4=(2+17) mod 5=4a_4 = (2 + 17) \bmod 5 = 4。本次操作后,只有传感器 44 处于激活状态,所以 v4=42=16v_4 = 4^2 = 16。
  • 对于第 55 次操作,真实的 a5=(0+16) mod 5=1a_5 = (0 + 16) \bmod 5 = 1。本次操作后,没有传感器处于激活状态,所以 v5=0v_5 = 0。