#P11947. [KTSC 2025] 可爱区间 / maxsum

    ID: 13339 远端评测题 5000ms 1024MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>2025交互题KOI(韩国)

[KTSC 2025] 可爱区间 / maxsum

背景

版权信息:译自 2025年度 国际情报 올림피아드 (Olympiad) 代表学生 选拔考试 R2T2。[CC BY-NC-SA 4.0]

题目描述

给定长度为 nn 的整数数列 A0∼An−1A_0\sim A_{n-1},B0∼Bn−1B_0\sim B_{n-1}。保证 Ai≤BiA_i\le B_i。

定义区间 [l,r][l,r] 是可爱的,当且仅当:

  • l,r∈Zl,r\in \mathbb{Z},且 0≤l≤r<n0\le l\le r\lt n;
  • 存在一个长度为 nn 的整数数列 C0∼Cn−1C_0\sim C_{n-1},使得:
    1. ∀0≤i<n\forall 0\le i\lt n,都有 Ci∈[Ai,Bi]C_i\in [A_i,B_i];
    2. ∀0≤L≤R<n\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][l,r] 取到 CC 的最大子段和。

qq 次询问,第 ii 次询问给定四个非负整数 L1,i,R1,i,L2,i,R2,iL_{1,i},R_{1,i},L_{2,i},R_{2,i},求出满足以下条件的区间 [l,r][l,r] 的数量:

  • l∈[L1,i,R1,i]l\in [L_{1,i},R_{1,i}];
  • r∈[L2,i,R2,i]r\in [L_{2,i},R_{2,i}];
  • [l,r][l,r] 是可爱的。

实现细节

你不需要,也不应该实现 main 函数。

你应当实现以下的函数:

vector<long long> maxsum(vector<int> A, vector<int> B, 
                         vector<int> L1, vector<int> R1,  
                         vector<int> L2, vector<int> R2);  
  • A,B:长度为 nn 的整数数组;
  • L1,R1,L2,R2:长度为 qq 的非负整数数组。
    • ∀0≤i<q\forall 0\le i\lt q,L1[i],R1[i],L2[i],R2[i] 描述一次询问。
  • 返回一个长度为 qq 的非负整数数组 S,其中 S[i] 表示第 ii 个询问的答案。

输入格式

Sample Grader 输入格式如下:

第一行,两个正整数 n,qn,q。

接下来 nn 行,每行两个整数 Ai,BiA_i,B_i。

接下来 qq 行,第 ii 行四个非负整数 L1,i,R1,i,L2,i,R2,iL_{1,i},R_{1,i},L_{2,i},R_{2,i}。

输出格式

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

3 3
-1 2
-1 -1
-1 2
0 2 0 2
0 0 0 2
1 2 0 1
4 2 1

提示

样例交互

样例交互 11

  • N=3N=3, Q=3Q=3,A=[−1,−1,−1]A = [-1, -1, -1], B=[2,−1,2]B = [2, -1, 2];
  • L1=[0,0,1]L_1 = [0, 0, 1],R1=[2,0,2]R_1 = [2, 0, 2],L2=[0,0,0]L_2 = [0, 0, 0],R2=[2,2,1]R_2 = [2, 2, 1]。

交互库调用

maxsum([-1, -1, -1], [2, -1, 2], [0, 0, 1], [2, 0, 2], [0, 0, 0], [2, 2, 1]);
  • [0,0][0,0] 是可爱的。取 C=[1,−1,0]C=[1,-1,0] 满足条件。
  • [0,1][0,1] 不是可爱的。由于 C1=−1C_1=-1,无论其他位置填什么,都有 C0>C0+C1C_0\gt C_0+C_1。

类似地,可以证明:只有 [0,0],[0,2],[1,1],[2,2][0, 0],[0, 2],[1, 1],[2, 2] 是可爱的区间。

返回 [4,2,1][4, 2, 1]。

数据范围

  • 1≤n,q≤250 0001 \leq n, q \leq 250\,000;
  • −109≤Ai≤Bi≤109-10^9 \leq A_i \leq B_i \leq 10^9;
  • 0≤L1,j≤R1,j≤N−10 \leq L_{1,j} \leq R_{1,j} \leq N−1;
  • 0≤L2,j≤R2,j≤N−10 \leq L_{2,j} \leq R_{2,j} \leq N−1。

子任务

  • Subtask 1 (5 pts)\text{Subtask 1 (5 pts)}:n≤500n\le 500。
  • Subtask 2 (11 pts)\text{Subtask 2 (11 pts)}:n≤5 000n\le 5\, 000。
  • Subtask 3 (45 pts)\text{Subtask 3 (45 pts)}:q=1q=1,L1,0=L2,0=0L_{1,0}=L_{2,0}=0,R1,0=R2,0=n−1R_{1,0}=R_{2,0}=n-1。
  • Subtask 4 (12 pts)\text{Subtask 4 (12 pts)}:L1,i=R1,iL_{1,i}=R_{1,i},L2,i=R2,iL_{2,i}=R_{2,i}。
  • Subtask 5 (27 pts)\text{Subtask 5 (27 pts)}:无额外限制。