AT_joi2016ho_e.断層 (Geologic Fault)
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
很久以前,存在着一个高度发达的文明,被称为 IOI 文明。然而,由于火山喷发,这个高度发达的文明最终灭亡了。IOI 文明沿着一条直线状的河流繁荣发展,在 IOI 文明灭亡时,其地表是平坦的。IOI 文明的遗址可以视为坐标平面上的 x 轴,y 轴表示高度方向。也就是说,在坐标平面中,直线 y=0 表示地表,区域 y>0 表示地上,区域 y<0 表示地下。此外,IOI 文明灭亡时,a 年前(a≥0)的地层位于直线 y=−a 的位置。
在 IOI 文明灭亡后,遗址上发生了 Q 次地壳变动。第 i 次(1≤i≤Q)地壳变动由位置 Xi、方向 Di、变动量 Li 表示。Di 为 1 或 2。第 i 次地壳变动按如下方式发生:
- 地层的移动如下:
- 当 Di=1 时,断层沿过点 (Xi,0)、斜率为 1 的直线形成,该直线之上的地层沿直线方向上升 Li 的高度。即,该直线之上的点 (x,y) 移动到点 (x+Li,y+Li)。
- 当 Di=2 时,断层沿过点 (Xi,0)、斜率为 −1 的直线形成,该直线之上的地层沿直线方向上升 Li 的高度。即,该直线之上的点 (x,y) 移动到点 (x−Li,y+Li)。
- 紧接着,区域 y>0 的地层因风化全部消失。
时光流转至现代,考古学家 JOI 博士开始发掘 IOI 文明的遗迹。JOI 博士想知道每个位置的地表地层,是 IOI 文明灭亡前多少年的地层。已知所有地壳变动的情况。你的任务是,代替 JOI 博士,对于每个满足 1≤i≤N 的整数 i,求出点 (i−1,0) 与点 (i,0) 之间的地表地层,是 IOI 文明灭亡前多少年的地层。
输入格式
从标准输入读取如下内容。
- 第 1 行包含两个整数 N,Q,用空格分隔。表示需要求解的地点数量为 N,地壳变动的次数为 Q。
- 接下来的 Q 行中,第 i 行(1≤i≤Q)包含三个整数 Xi,Di,Li,用空格分隔。表示第 i 次地壳变动的位置为 Xi,方向为 Di,变动量为 Li。
输出格式
输出共 N 行。第 i 行(1≤i≤N)输出点 (i−1,0) 与点 (i,0) 之间的地表地层,是 IOI 文明灭亡前多少年的地层的整数。
输入输出样例
输入#1
10 2 12 1 3 2 2 2
输出#1
3 3 5 5 5 5 5 5 2 2
输入#2
10 6 14 1 1 17 1 1 -6 2 1 3 2 1 4 1 1 0 2 1
输出#2
5 5 4 5 5 5 5 5 4 4
输入#3
15 10 28 1 7 -24 2 1 1 1 1 8 1 1 6 2 1 20 1 3 12 2 2 -10 1 3 7 2 1 5 1 2
输出#3
15 14 14 14 14 12 12 12 12 12 12 12 15 15 12
说明/提示
任务
已知 IOI 文明遗址上发生的所有地壳变动,对于每个整数 i(1≤i≤N),输出点 (i−1,0) 与点 (i,0) 之间的地表地层,是 IOI 文明灭亡前多少年的地层。
限制
所有输入数据满足以下条件:
- 1≤N≤200000。
- 1≤Q≤200000。
- −1000000000≤Xi≤1000000000(1≤i≤Q)。
- 1≤Di≤2(1≤i≤Q)。
- 1≤Li≤1000000000(1≤i≤Q)。
子任务
子任务 1 [18 分]
满足以下条件:
- N≤100。
- Q≤100。
- −100≤Xi≤100(1≤i≤Q)。
- Li=1(1≤i≤Q)。
子任务 2 [16 分]
满足以下条件:
- N≤3,000。
- Q≤3,000。
子任务 3 [66 分]
无额外限制。
样例说明 1
该输入示例对应下图。

样例说明 2
该输入示例满足子任务 1 的限制。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?