#P15687. [ICPC 2023 Jakarta R] Maximize The Value

    ID: 17751 远端评测题 1000ms 1024MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>线段树2023扫描线差分ICPC离线处理

[ICPC 2023 Jakarta R] Maximize The Value

题目描述

给定一个由 NN 个整数构成的一维数组 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N,初始时每个元素的值均为 00。

有 MM 个操作(编号从 11 到 MM)。第 ii 个操作表示为 ⟨Li,Ri,Xi⟩\langle L_i, R_i, X_i \rangle。执行第 ii 个操作时,所有满足 Li≤j≤RiL_i \leq j \leq R_i 的 AjA_j 都会增加 XiX_i。

你需要回答 QQ 个独立的询问。每个询问表示为 ⟨K,S,T⟩\langle K, S, T \rangle,其含义如下:选择一个区间 [l,r][l, r],满足 S≤l≤r≤TS \leq l \leq r \leq T,并依次执行操作 l,l+1,…,rl, l+1, \dots, r。对于所有可能的 ll 和 rr,询问的答案为执行这些操作后 AKA_K 的最大值。

输入格式

第一行包含两个整数 NN 和 MM(1≤N,M≤100 0001 \leq N, M \leq 100\,000)。

接下来的 MM 行,每行包含三个整数 LiL_i、RiR_i、XiX_i($1 \leq L_i \leq R_i \leq N; -100\,000 \leq X_i \leq 100\,000$)。

接下来一行包含一个整数 QQ(1≤Q≤100 0001 \leq Q \leq 100\,000)。

接下来的 QQ 行,每行包含三个整数 KK、SS、TT(1≤K≤N;1≤S≤T≤M1 \leq K \leq N; 1 \leq S \leq T \leq M)。

输出格式

对于每个询问,输出一行,表示该询问的答案。

2 6
1 1 -50
1 2 -20
2 2 -30
1 1 60
1 2 40
2 2 10
5
1 1 6
2 1 6
1 1 3
2 1 3
1 1 2
100
50
0
0
-20
5 3
1 3 3
2 4 -2
3 5 3
6
1 1 3
2 1 3
3 1 3
3 2 3
2 2 3
2 2 2
3
3
4
3
0
-2

提示

样例输入输出 #1 说明:

对于第 11 个询问,其中一种方案是执行操作 44 和 55。

对于第 22 个询问,其中一种方案是执行操作 44、55 和 66。

对于第 33 个询问,唯一的方案是执行操作 33。

对于第 44 个询问,唯一的方案是执行操作 11。

对于第 66 个询问,唯一的方案是执行操作 22。

由 ChatGPT 4.1 翻译