Logo Wy Online Judge

WyOJ

#627. IOIP 20240310 fog-merge-sort-tree

沙尘暴

项目 内容
时间限制 2秒
内存限制 256 MB
输入 标准输入
输出 标准输出

题目描述

阿拉基斯的新建筑师正在设计一个由 $n$ 栋建筑排成一排的新街区。第 $i$ 栋建筑恰好有 $h_i$ 层。

现在建筑师想知道市民们是否能充分欣赏他的设计。问题在于城市中经常发生沙尘暴,而城墙只能保护低层建筑免受沙尘暴侵袭,因此一些建筑的高层可能从地面上看不到。

形式化地,你会收到形如 $(l, r, f)$ 的请求:“第 $l$ 到第 $r$ 栋建筑周围的沙尘暴等级变为 $f$”。这意味着,对于第 $l$ 到第 $r$ 栋建筑,只有前 $f$ 层是可见的,而所有更高的楼层都被沙子隐藏而不可见。每次请求后,你需要告诉建筑师当前所有建筑总共可见的层数是多少。

再次强调,沙尘暴是向上连续的,即如果第 $y$ 栋建筑的第 $x$ 层被沙子隐藏,那么第 $x+1, x+2, \ldots, h_y$ 层也被隐藏,只有第 $1$ 到第 $(x-1)$ 层可见。

初始时,在第一个请求到来之前,沙尘暴尚未开始,即所有建筑完全可见。

输入格式

第一行包含两个整数 $n$ 和 $q$ —— 建筑的数量和沙尘暴等级修改请求的数量($1 \le n, q \le 10^5$)。

第二行包含 $n$ 个整数 $h_i$ —— 建筑的高度($1 \le h_i \le 10^9$)。

接下来的 $q$ 行每行描述一个请求。第 $i$ 行包含三个整数 $l_i, r_i, f_i$ —— 沙尘暴等级发生变化的区间端点,以及新的等级($1 \le l_i \le r_i \le n$;$0 \le f_i \le 10^9$)。

输出格式

输出 $q$ 行,每行一个整数 —— 对应请求的答案。

评分系统

仅当某子任务及其依赖子任务的所有测试均通过时,才可获得该子任务的分数。

子任务 分值 额外限制 依赖子任务 评测信息
0 样例 全部
1 10 所有 $h_i$ 相等,且请求区间互不相交 首个错误点
2 13 $h_{i+1} \ge h_i$,且请求区间互不相交 1 首个错误点
3 15 $n, q \le 200$ 0 首个错误点
4 17 对所有 $i$ 有 $r_i - l_i \le 10$ 0 首个错误点
5 20 $n, q \le 2000$ 0, 3 首个错误点
6 25 0 – 5 首个错误点

样例

样例 1

输入

1 3
100
1 1 50
1 1 120
1 1 0

输出

50
100
0

样例 2

输入

4 5
1 5 7 3
1 3 1
2 4 2
2 3 5
1 4 3
3 4 100

输出

6
7
13
10
14
题目信息
  • 难度 UKE
  • 控制组 group_default
  • 时间限制 2 s
  • 空间限制 256 MB
  • 数据大小 38.748 MB
提交统计
  • 提交数 0
  • 通过数 0
  • 通过率 N/A