题目 20428

烤肉派对

查看题解 ↗GitHub ↗如何评测
题号
20428
时间限制
1000 ms
内存限制
256 MB
标签
比赛CSP-S
来源
CSP-S 国外模拟赛 37 - T2

第 2 题 烤肉派对 (party)

时间限制 1.0 s · 空间限制 256 MB · 119 个测试点 · 全文比较(过滤行末空格及文末回车)

本题使用文件输入输出:输入文件 party.in,输出文件 party.out。

按照署名—非商业性使用—相同方式共享 4.0 协议国际版进行授权。

题目描述

今天是烤肉派对的日子。为了配合派对的氛围,在一条很长的烤架上总共放了 NN 块烤得很香的肉。

将这条烤架视为一条长度为 10910^9 的线段,左端为坐标 0,右端为坐标 10910^9。每块肉都占据烤架上的某个区间,并且拥有一个用正整数表示的“美味值”。第 ii 块肉(1≤i≤N1 \le i \le N)占据区间 [si,ei][s_i, e_i],其美味值为 tit_i。多块肉可能重叠放置。

派对共有 MM 个人参加。每个人按照编号从 1 到 MM 依次站到烤架前,各自领取要吃的烤肉。领取方法如下:

  • 第 jj 个人(1≤j≤M1 \le j \le M)带来了两根长签子,并分别插入坐标 aj+0.1a_j + 0.1 和 bj+0.9b_j + 0.9 的位置(其中 aj≤bja_j \le b_j)。插入坐标 xx 的签子会贯穿所有满足 si≤x≤eis_i \le x \le e_i 的第 ii 块肉。
  • 然后,他会整根地拔起签子带回座位。此时,只要有一块肉被两根签子都贯穿,就可以被带走并从烤架上移除。
  • 如果只有一根签子贯穿了一块肉,那么这块肉在途中会掉到地上,无法带回座位吃。
  • 也就是说,只有同时被两根签子贯穿的肉才能顺利被带走并吃掉。

你是这场派对的主办者,对每个人究竟带走了哪些肉感到好奇。请计算出每个人最终能够吃掉的肉的美味值总和(注意不包括在途中掉落的肉)。

输入格式

第一行输入两个整数 NN 和 MM,分别表示烤肉的数量和参加派对的人的数量。 接下来 NN 行中,第 ii 行包含三个整数 si,ei,tis_i, e_i, t_i,表示第 ii 块肉所占据的区间和其美味值。 接下来 MM 行中,第 jj 行包含两个整数 aj,bja_j, b_j,表示第 jj 个人插入签子的两个坐标。

输出格式

输出 MM 行,其中第 jj 行输出第 jj 个人能够吃到的肉的美味值总和。

样例

样例 1

输入:

文本
5 3
2 7 3
5 6 9
3 5 2
1 3 6
4 8 7
3 6
2 4
5 5

输出:

文本
3
0
9

样例 2

输入:

文本
6 3
1 12 1
2 11 10
3 10 100
4 9 1000
5 8 10000
6 7 100000
1 11
5 9
6 8

输出:

文本
1
110
0

样例 3

输入:

文本
5 2
1 5 5
2 6 2
4 8 3
5 9 4
7 11 6
4 5
8 10

输出:

文本
5
6

提示

限制条件

  • 所有给定数值均为整数。
  • 1≤N,M≤250 0001 \le N, M \le 250\,000
  • 0≤si<ei≤1090 \le s_i < e_i \le 10^9 (1≤i≤N1 \le i \le N)
  • 1≤ti≤1091 \le t_i \le 10^9 (1≤i≤N1 \le i \le N)
  • 0≤aj≤bj≤109−10 \le a_j \le b_j \le 10^9 - 1 (1≤j≤M1 \le j \le M)

子任务

  1. (5 分)N,M≤1000N, M \le 1000
  2. (9 分)ei−si≤5e_i - s_i \le 5 (1≤i≤N1 \le i \le N)
  3. (11 分)si<si+1s_i < s_{i+1},ei>ei+1e_i > e_{i+1} (1≤i≤N−11 \le i \le N - 1)
  4. (23 分)ei−si=e1−s1e_i - s_i = e_1 - s_1 (2≤i≤N2 \le i \le N)
  5. (52 分)无额外限制

翻译由 ChatGPT-4o 完成

数据下载

题目 20428 的公开数据

正在读取文件列表…

常用命令

题目 20428 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。