P11947 [KTSC 2025] 可爱区间 / maxsum

题目背景

版权信息:译自 [2025年度 国际情报 올림피아드 (Olympiad) 代表学生 选拔考试](https://www.ioikorea.or.kr/archives/ioitst/2025/) R2T2。[[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)]

题目描述

给定长度为 $n$ 的整数数列 $A_0\sim A_{n-1}$,$B_0\sim B_{n-1}$。保证 $A_i\le B_i$。 定义区间 $[l,r]$ 是**可爱的**,当且仅当: - $l,r\in \mathbb{Z}$,且 $0\le l\le r\lt n$; - 存在一个长度为 $n$ 的整数数列 $C_0\sim C_{n-1}$,使得: 1. $\forall 0\le i\lt n$,都有 $C_i\in [A_i,B_i]$; 2. $\forall 0\le L\le R\lt n$,都有 $\displaystyle \sum_{L\le i\le R} C_i\le \sum_{l\le i\le r} C_i$。 - 换言之,$[l,r]$ 取到 $C$ 的最大子段和。 $q$ 次询问,第 $i$ 次询问给定四个非负整数 $L_{1,i},R_{1,i},L_{2,i},R_{2,i}$,求出满足以下条件的区间 $[l,r]$ 的数量: - $l\in [L_{1,i},R_{1,i}]$; - $r\in [L_{2,i},R_{2,i}]$; - $[l,r]$ 是可爱的。 ### 实现细节 你不需要,也不应该实现 `main` 函数。 你应当实现以下的函数: ```cpp vector maxsum(vector A, vector B, vector L1, vector R1, vector L2, vector R2); ``` - `A`,`B`:长度为 $n$ 的整数数组; - `L1`,`R1`,`L2`,`R2`:长度为 $q$ 的非负整数数组。 - $\forall 0\le i\lt q$,`L1[i]`,`R1[i]`,`L2[i]`,`R2[i]` 描述一次询问。 - 返回一个长度为 $q$ 的非负整数数组 `S`,其中 `S[i]` 表示第 $i$ 个询问的答案。

输入格式

Sample Grader 输入格式如下: 第一行,两个正整数 $n,q$。 接下来 $n$ 行,每行两个整数 $A_i,B_i$。 接下来 $q$ 行,第 $i$ 行四个非负整数 $L_{1,i},R_{1,i},L_{2,i},R_{2,i}$。

输出格式

Sample Grader 输出一行 $q$ 个整数 `S[0], S[1], ..., S[Q−1]`。

说明/提示

### 样例交互 #### 样例交互 $1$ - $N=3$, $Q=3$,$A = [-1, -1, -1]$, $B = [2, -1, 2]$; - $L_1 = [0, 0, 1]$,$R_1 = [2, 0, 2]$,$L_2 = [0, 0, 0]$,$R_2 = [2, 2, 1]$。 交互库调用 ```cpp maxsum([-1, -1, -1], [2, -1, 2], [0, 0, 1], [2, 0, 2], [0, 0, 0], [2, 2, 1]); ``` - $[0,0]$ 是可爱的。取 $C=[1,-1,0]$ 满足条件。 - $[0,1]$ 不是可爱的。由于 $C_1=-1$,无论其他位置填什么,都有 $C_0\gt C_0+C_1$。 类似地,可以证明:只有 $[0, 0],[0, 2],[1, 1],[2, 2]$ 是可爱的区间。 返回 $[4, 2, 1]$。 ### 数据范围 - $1 \leq n, q \leq 250\,000$; - $-10^9 \leq A_i \leq B_i \leq 10^9$; - $0 \leq L_{1,j} \leq R_{1,j} \leq N−1$; - $0 \leq L_{2,j} \leq R_{2,j} \leq N−1$。 ### 子任务 - $\text{Subtask 1 (5 pts)}$:$n\le 500$。 - $\text{Subtask 2 (11 pts)}$:$n\le 5\, 000$。 - $\text{Subtask 3 (45 pts)}$:$q=1$,$L_{1,0}=L_{2,0}=0$,$R_{1,0}=R_{2,0}=n-1$。 - $\text{Subtask 4 (12 pts)}$:$L_{1,i}=R_{1,i}$,$L_{2,i}=R_{2,i}$。 - $\text{Subtask 5 (27 pts)}$:无额外限制。