#P5211. [ZJOI2017] 字符串

    ID: 4172 Type: RemoteJudge 3000ms 500MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>2017线段树各省省选浙江

[ZJOI2017] 字符串

题目背景

猪小侠最近学习了字符串相关理论,现在他遇到了这样一个题:

题目描述

维护一个动态字符串 s1..ns_{1..n},字符串的字符集是所有 x109|x| \leq 10 ^ 9 的整数。要求支持两个操作:

  1. 输入 l,r,dl, r, d,对于所有 lirl \leq i \leq r,将 sis_i 修改为 si+ds_i + d,注意 dd 可能是负数。

  2. 输入 l,rl, r,输出子串 sl..rs_{l..r} 的字典序最小的后缀的起点位置。即,如果最小后缀是 sp..rs_{p..r}lprl\leq p\leq r),请输出 pp

输入格式

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

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

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

输出格式

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

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

3
5
1

提示

测试点编号 nn mm 其他约定
11 300\leq 300
22 2×104\leq 2 \times 10^4 2×104\leq 2 \times 10^4
33 2×105\leq 2 \times 10^5
44 2×105\leq 2 \times 10^5 3×104\leq 3 \times 10^4 只有第二类操作
55
66 数据随机生成
77
88
99
1010

对于 100%100\% 的数据,1lrn1\leq l\leq r\leq nd103|d|\leq 10 ^ 3si108|s_i|\leq 10 ^ 8

注意,6677 两个测试数据在随机生成时,sis_i{0,1}\{0, 1\} 中随机,dd{1,1}\{-1, 1\} 中随机。操作种类和操作区间都是等概率随机的。