DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

新城建设

返回题目

题解

每栋建筑的高度可以独立选择。因此,对每栋建筑 iii 求出 max⁡(B1,…,BAi)\max(B_1,\ldots,B_{A_i})max(B1​,…,BAi​​),再将这些值相加即可。

依次对 h=2,3,…,Mh=2,3,\ldots,Mh=2,3,…,M 执行 Bh←max⁡(Bh,Bh−1)B_h \gets \max(B_h,B_{h-1})Bh​←。此后, 保存原数列前 个元素的最大值。答案为 。

时间复杂度为 O(N+M)O(N+M)O(N+M),空间复杂度为 O(N+M)O(N+M)O(N+M)。

max
(
Bh​
,
Bh−1​
)
BhB_hBh​
hhh
∑i=1NBAi\sum_{i=1}^{N}B_{A_i}∑i=1N​BAi​​