A3582 「UOI 2024 Stage 4 Day1」子数组美丽度查询

暂无评定 传统题 UOI(乌克兰) 上传者
时间限制2500ms
内存限制512MiB
通过 / 提交0/0

A3582「UOI 2024 Stage 4 Day1」子数组美丽度查询

暂无评定 传统题 UOI(乌克兰) 上传者
时间限制2500ms
内存限制512MiB
通过 / 提交0/0

题目描述

题目译自 Ukrainian Olympiads in Informatics 2024 Stage 4 Day1 T3. Запити красот підмасивів

我们称一个长度为 mm 的整数数组 bb 的权重为其元素之和的绝对值,即 ∣b1+b2+…+bm∣|b_1 + b_2 + \ldots + b_m|。

我们定义数组 cc 分割成若干子数组的美丽度为所有子数组权重中的最小值。形式上,数组 cc 分割成 kk 个子数组 $[c_1, \ldots, c_{p_1}], [c_{p_1+1}, \ldots, c_{p_2}], \ldots, [c_{p_{k-1}+1}, \ldots, c_{p_k}]$(其中 1≤p1<p2<…<pk−1<pk=n1 \leq p_1 < p_2 < \ldots < p_{k-1} < p_k = n)的美丽度为 $\min(|c_1 + \ldots + c_{p_1}|, |c_{p_1+1} + \ldots + c_{p_2}|, \ldots, |c_{p_{k-1}+1} + \ldots + c_{p_k}|)$。例如,数组 [3,−6,4,5,−8][3, -6, 4, 5, -8] 分割成子数组 [3,−6],[4],[5,−8][3, -6], [4], [5, -8] 的美丽度为 $\min(|3 + (-6)|, |4|, |5 + (-8)|) = \min(3, 4, 3) = 3$。

我们定义数组 cc 的美丽度为其所有可能分割方式中最大的美丽度。

给定一个长度为 nn 的整数数组 aa。

你需要处理 qq 个查询,查询分为两种类型:

  1. 计算由元素 [al,al+1,…,ar][a_{l}, a_{l+1}, \ldots, a_r] 组成的数组的美丽度,其中 (l,r)(l, r) 是查询参数;
  2. 将元素 axa_x 替换为 vv,其中 (x,v)(x, v) 是查询参数。

输入格式

输入的第一行包含两个整数 nn 和 qq (1≤n,q≤106)(1 \le n, q \le 10^6),分别表示数组 aa 的长度和查询的数量。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n (−109≤ai≤109)(-10^9 \le a_i \le 10^9),表示数组 aa 的元素。

接下来的 qq 行,每行包含三个整数。第一个数字 typeitype_i (1≤typei≤2)(1 \le type_i \le 2) 表示查询类型。第一类查询格式为 1 l r (1≤l≤r≤n)(1 \le l \le r \le n),第二类查询格式为 2 x v (1≤x≤n,−109≤v≤109)(1 \le x \le n, -10^9 \le v \le 10^9)。

输出格式

对于每个第一类查询,单独输出一行一个整数,表示对应数组的美丽度。

6 4
1 -3 4 2 -5 6
1 1 6
1 2 3
1 2 5
1 1 1

5
3
3
1

在第一个样例的第三个查询中,数组 [−3,4,2,−5][-3, 4, 2, -5] 的最大美丽度在分割为 [−3],[4,2],[−5][-3], [4, 2], [-5] 时达到。

5 6
1 -2 3 -4 5
1 1 4
1 2 3
2 3 -6
1 2 4
2 4 2
1 1 5

2
2
12
7

在第二个样例的第一个查询中,数组 [1,−2,3,−4][1, -2, 3, -4] 的最大美丽度在分割为 [1,−2,3],[−4][1, -2, 3], [-4] 时达到。

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 44 typei=1type_i = 1(对于 1≤i≤q1 \le i \le q);ai>0a_i > 0(对于 1≤i≤n1 \le i \le n)
22 1414 typei=1type_i = 1(对于 1≤i≤q1 \le i \le q);n,q≤1000n, q \le 1000
33 1010 typei=1type_i = 1(对于 1≤i≤q1 \le i \le q);n,q≤2⋅105n, q \le 2 \cdot 10^5,对于每个查询存在一个最优分割不超过 22 个子数组
44 1010 typei=1type_i = 1(对于 1≤i≤q1 \le i \le q);q≤n≤2⋅105q \le n \le 2 \cdot 10^5,li=1l_i = 1, ri=ir_i = i(对于 1≤i≤q1 \le i \le q)
55 1111 typei=1type_i = 1(对于 1≤i≤q1 \le i \le q);n,q≤2⋅105n, q \le 2 \cdot 10^5,−5≤∑j=1iaj≤5-5 \le \sum\limits_{j=1}^{i} a_j \le 5(对于 1≤i≤n1 \le i \le n)
66 1818 typei=1type_i = 1(对于 1≤i≤q1 \le i \le q);n,q≤2⋅105n, q \le 2 \cdot 10^5
77 99 typei=1type_i = 1(对于 1≤i≤q1 \le i \le q)
88 1616 n,q≤2⋅105n, q \le 2 \cdot 10^5
99 88 无附加限制