Description
给定正整数 n,k,q 和一个长度为 n 的序列 a,q 次操作或询问:
1 l r c,对于每个 i∈[l,r],令 ai←(ai+c)modk。
2 l1 r1 l2 r2,判断 a 的两个长度相同的子段 al1⋯r1,al2⋯r2 是否相等。
第一行三个正整数 n,k,q。
第二行 n 个正整数表示序列 a 的初始值。
后 q 行每行描述一个操作或询问,格式见题目描述。
若干行,每行回答一个 2 操作。如果相等输出 Yes 否则输出 No。
6 3 6
0 1 2 0 1 2
2 1 2 1 2
2 1 2 4 5
2 1 2 5 6
1 1 2 1
2 1 2 4 5
2 1 2 5 6
Yes
Yes
No
No
Yes
Hint
本题采用捆绑测试及子任务依赖。
| 子任务编号 |
分值 |
特殊限制 |
依赖子任务 |
时间限制 |
| 1 |
10 |
n,q≤103 |
|
1.5 s |
| 2 |
20 |
k=2 |
2.5 s |
| 3 |
n≤105 |
1 |
1.5 s |
| 4 |
50 |
无特殊限制 |
1,2,3 |
2.5 s |
对于全部数据,1≤n,q≤106,2≤k≤106,0≤ai,c<k,对于 2 操作 r1−l1=r2−l2。