#518. NOI2025 day2 三目运算符

NOI2025 day2 三目运算符

题目描述

对于一个长度为 nnn3n \geq 3)的 01 串 S=s1snS = s_1 \dots s_n,定义变换 T=f(S)=t1tnT = f(S) = t_1 \dots t_n(题目未明确变换 ff 具体规则,结合样例推测为特定逻辑变换)。定义变换 ff 的不动点如下:若 01 串 TT 满足 f(T)=Tf(T) = T,则称 TT 为变换 ff 的不动点。

fk(S)f^k(S)SS 经过 kk 次变换得到的串,特别地,记 f0(S)=Sf^0(S) = S。求最小的自然数 kk,使得 fk(S)f^k(S) 为变换 ff 的不动点(即满足 fk+1(S)=fk(S)f^{k+1}(S) = f^k(S) 的最小自然数 kk),且题目保证一定存在该自然数 kk

小 Z 增加 qq 次修改操作,第 ii1iq1 \leq i \leq q)次修改会给定两个正整数 li,ril_i, r_i1lirin1 \leq l_i \leq r_i \leq n),将区间 [li,ri][l_i, r_i] 内所有原有 0 替换为 1,所有原有 1 替换为 0。需对初始时及每次修改后的字符串 SS,求出上述最小自然数 kk

输入格式

  1. 第一行包含两个非负整数 c,tc, t,分别表示测试点编号与测试数据组数,c=0c = 0 表示该测试点为样例。
  2. 每组测试数据:
    • 第一行包含两个正整数 n,qn, q,分别表示 SS 的长度和修改次数。
    • 第二行包含一个长度为 nn 的 01 串 S=s1snS = s_1 \dots s_n,表示初始时的字符串。
    • i+2i + 21iq1 \leq i \leq q)行包含两个正整数 li,ril_i, r_i,表示一次修改操作。

输出格式

对于每组测试数据,设初始时的答案为 k0k_0,第 ii1iq1 \leq i \leq q)次修改后的答案为 kik_i,输出一行一个正整数,表示 i=0q((i+1)×ki)\oplus_{i=0}^q ((i + 1) \times k_i),其中 \oplus 表示二进制按位异或。

样例1

输入

0 2
5 2
11010
3 3
2 2
7 3
1010100
7 7
2 4
1 2

输出

2
4

样例1解释

该样例共包含两组测试数据:

  1. 第一组测试数据:
    • 初始时,S=11010S = 11010f(S)=11100f(S) = 11100f2(S)=11110f^2(S) = 11110f3(S)=f4(S)=11111f^3(S) = f^4(S) = 11111,因此 k0=3k_0 = 3
    • 第一次操作后,S=11110S = 11110f(S)=f2(S)=11111f(S) = f^2(S) = 11111,因此 k1=1k_1 = 1
    • 第二次操作后,S=10110S = 10110f(S)=f2(S)=10011f(S) = f^2(S) = 10011,因此 k2=1k_2 = 1
    • 答案为 $(1 \times 3) \oplus (2 \times 1) \oplus (3 \times 1) = 3 \oplus 2 \oplus 3 = 2$。
  2. 第二组测试数据:
    • 初始时,S=1010100S = 1010100k0=1k_0 = 1
    • 第一次操作后,S=1010101S = 1010101k1=1k_1 = 1
    • 第二次操作后,S=1101101S = 1101101k2=5k_2 = 5
    • 第三次操作后,S=0001101S = 0001101k3=2k_3 = 2
    • 答案为 $(1 \times 1) \oplus (2 \times 1) \oplus (3 \times 5) \oplus (4 \times 2) = 4$。

数据范围

  • 3n4×1053 \leq n \leq 4 \times 10^51q4×1051 \leq q \leq 4 \times 10^5
  • N,QN, Q 分别为单个测试点内所有测试数据的 n,qn, q 的和,N8×105N \leq 8 \times 10^5Q8×105Q \leq 8 \times 10^5
  • 对于所有 1in1 \leq i \leq n,均有 si{0,1}s_i \in \{0, 1\}
  • 对于所有 1iq1 \leq i \leq q,均有 1lirin1 \leq l_i \leq r_i \leq n
测试点编号 n,qn, q \leq N,QN, Q \leq 特殊性质
1 ~ 3 200200 10310^3 A
4 ~ 6
7, 8 50005000 10410^4 A
9 ~ 11
12 10510^5 2×1052 \times 10^5 A
13, 14 B
15, 16
17 ~ 19 4×1054 \times 10^5 8×1058 \times 10^5 C
20

特殊性质说明:

  • A:保证初始时及每次修改后,存在整数 p[2,n]p \in [2, n] 满足 s1=s2==sp=1s_1 = s_2 = \cdots = s_p = 1sp+1==sn=0s_{p+1} = \cdots = s_n = 0
  • B:保证对于所有 1iq1 \leq i \leq q,均有 li=1l_i = 1ri=nr_i = n
  • C:保证对于所有 1iq1 \leq i \leq q,均有 li=1l_i = 1,且 r1r2rqr_1 \leq r_2 \leq \cdots \leq r_q