#P9494. 「SFCOI-3」进行一个走的行

    ID: 8731 Type: RemoteJudge 3500ms 512MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>平衡树2023洛谷原创O2优化

「SFCOI-3」进行一个走的行

题目背景

公告:注意存在 li>ril_i > r_i 的情况,此时操作无效。


小 L 热衷于行走。

题目描述

小 L 来到了一处景点,他想要在这里的主干道上行走。

主干道上有若干关键点,他可以将其抽象为一个长为 nn 的序列 aa,每个 aia_i 都是一个三元组,可以表示为 (li,ri,vi)(l_i, r_i, v_i),其具体含义形如:

  • ri=1r_i = -1,表示一个需要买票进入的景点,票价为 lil_i 代币,游览完成后他会得到 viv_i 的愉悦值。
  • ri1r_i \neq -1,表示一个礼品派发点,若他持有的代币面值之和 xx 满足 lixril_i \leq x \leq r_i,他可以领取一份礼品,并会得到 viv_i 的愉悦值。

他打算在这条主干道上行走 mm 次,每次他给出了行走起点 ll 和终点 rr,一开始他持有的代币面值之和为 xx,初始愉悦值为 00

他将从 ll 开始向右依次经过 i[l,r]i \in [l, r],他会做如下操作:

  • ri=1r_i = -1,如果他持有的代币在支付完当前景点门票费用后还有剩余,他会游览这个景点。
  • ri1r_i \neq -1,如果可以,他会领取一份礼品。

请你帮他快速求出每次行走结束后他的愉悦值。

输入格式

第一行,两个整数 n,mn, m

接下来 nn 行,其中第 ii 行有三个整数 li,ri,vil_i, r_i, v_i

接下来 mm 行,每行三个整数 l,r,xl, r, x,表示一个询问。

输出格式

mm 行,每行一个整数,表示行走结束后他的愉悦值。

4 10
1 1 4
5 -1 4
1 9 19
8 -1 10
1 1 11
2 2 4
3 3 5
4 4 14
1 2 1
2 3 9
3 4 1
1 3 9
2 4 8
1 4 10
0
0
19
10
4
23
19
23
23
23

提示

本题开启捆绑测试。

  • Subtask 1(10 pts):1n,m5×1031 \leq n, m \leq 5 \times 10^3
  • Subtask 2(10 pts):ri1r_i \neq -1
  • Subtask 3(20 pts):ri=1r_i = -1
  • Subtask 4(10 pts):1n,m7.5×1041 \leq n, m \leq 7.5 \times 10^4,性质 A。
  • Subtask 5(20 pts):1n,m7.5×1041 \leq n, m \leq 7.5 \times 10^4
  • Subtask 6(10 pts):数据在范围内随机生成,性质 B。
  • Subtask 7(20 pts):无特殊限制。

性质 A:1li7.5×1041 \leq l_i \leq 7.5 \times 10^4ri=1r_i = -11ri7.5×1041 \leq r_i \leq 7.5 \times 10^41x7.5×1041 \leq x \leq 7.5 \times 10^4

性质 B:ri=1r_i = -11li2×1051 \leq l_i \leq 2 \times 10^5

对于 100%100\% 的数据:

  • 1n,m2×1051 \leq n, m \leq 2 \times 10^5
  • 1li1091 \leq l_i \leq 10^9ri=1r_i = -11ri1091 \leq r_i \leq 10^9
  • 1vi1091 \leq v_i \leq 10^9
  • 1lrn1 \leq l \leq r \leq n1x1091 \leq x \leq 10^9