UOJ Logo Universal Online Judge

UOJ

#296. 【ZJOI2017】字符串

附件下载 统计

猪小侠最近学习了字符串相关理论,现在他遇到了这样一个题: 维护一个动态字符串 s[1n],字符串的字符集是所有 |x|109 的整数。要求支持两个操作:

  1. 输入 l,r,d,对于所有 lir,将 s[i] 修改为 s[i]+d注意 d 可能是负数
  2. 输入 l,r,输出子串 s[lr]字典序最小的后缀的起点位置。即,如果最小后缀是 s[pr],(lpr),请输出 p

输入格式

第一行两个非负整数 n,q

接下来一行包含 n 个整数,表示初始时的字符串。

接下来 q 行,每行为 1 l r d2 l r,分别表示两种操作。

输出格式

对于所有的查询操作按顺序输出答案。

样例一

input

5 5
3 2 1 4 3
2 1 5
1 2 4 2
2 1 5
1 2 5 1
2 1 5

output

3
5
1

样例二

见样例数据下载。

限制与约定

测试点编号 n m 其他约定
1300300
22×104104
3
42×1053×104只有第二类操作
5
6数据随机生成
7
8
9
10

对于 100% 的数据,1lrn,|d|103,|si|108

注意,6 和 7 两个测试数据在随机生成时,si[0,1] 中随机,d±1 中随机。操作种类和操作区间都是等概率随机的。

时间限制:3s

空间限制:512MB

下载

样例数据下载