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

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

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

天际线

返回题目

题解

子任务1可以对每个候选建筑检查其余所有建筑。时间复杂度为 O(∑N2)O(\sum N^2)O(∑N2),在 N≤100N\leq100N≤100、∑N≤1000\sum N\leq1000∑N≤1000 时足够快。

完整解法令 LX=max⁡(A1,⋯ ,AX−1)L_X=\max(A_1,\cdots,A_{X-1})LX​=max(A1​,⋯,A,。左侧为空时取 ,右侧为空时取 。左侧条件等价于 ,右侧条件等价于 ,所以统计同时满足两者的位置就是答案。从右向左预处理后缀最小值,再从左向右扫描并维护前缀最大值。相同高度也被允许,因此比较时必须包含等号。时间复杂度为 ,额外空间为 。所有保存的值不超过 ,答案不超过 。

Solution written by GPT6.1

X−1
​
)
RX=min⁡(AX+1,⋯ ,AN)R_X=\min(A_{X+1},\cdots,A_N)RX​=min(AX+1​,⋯,AN​)
000
109+110^9+1109+1
LX≤AXL_X\leq A_XLX​≤AX​
AX≤RXA_X\leq R_XAX​≤RX​
O(∑N)O(\sum N)O(∑N)
O(max⁡N)O(\max N)O(maxN)
109+110^9+1109+1
NNN