欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S40506.5-6 构筑篱笆
5-6 构筑篱笆
构筑篱笆
广场尽头出现了一座高架桥——不是普通的桥,是由能量束编织成的通道。Echo飘到桥头,投影被能量束的光芒切割成碎片。
"下一关。"她说,"是构筑篱笆。"
"篱笆?"CC问。
"对。"Echo说,"用能量束围成一圈篱笆,把G-30的核心区域围起来。篱笆的高度要够高,挡住所有外来的入侵者。"
"那不就是找最高的连续段?"你说。
"对。"Echo说,"但不是简单的高——是连续的高。如果中间有一段塌陷了,整个篱笆就断了。"
你开始写。把整个区域切成很多小段,每段的高度单独记录。查询某一段的最低高度时,不需要从头看到尾,只需要把覆盖那几段的账目合并起来——取最小值。修改某一段的高度时,从那一页往上翻,每一级重新算两个子节点的最小值。
"就像……"CC想了想,"查户口。每个街区有个最低收入,想知道几个街区连起来的最低收入,直接查汇总表。"
"对。"
屏幕上跳出了结果。第47号段到第52号段的高度最低——那里是篱笆的薄弱点。
"47号。"CC说,"又是47。"
"薄弱点。"Echo说,"Zero故意把最弱的地方放在最显眼的位置——就像诱捕器。"
"那我们绕过去?"
"不。"Echo说,"我们加固它。"
题目描述
个数,支持区间修改(加或赋值)和区间最小值查询。
输入格式
。然后 个数。然后 个操作。
输出格式
每个查询输出区间最小值。
输入样例
3 3
1 2 3
Q 1 3
C 2 5
Q 1 3
输出样例
6
6
提示
- 线段树维护区间最小值,支持懒标记。
- 修改时从叶子往上更新,查询时合并覆盖区间的节点值。
穿过高架桥,是一片废墟——不是被炸毁的,是被时间遗忘的。断壁残垣之间,散落着无数块能量地毯。每块地毯有一个矩形覆盖区,颜色各异。Echo说这些地毯是Zero曾经划分的势力范围,现在要丈量它们的总面积。
"不能一块一块量。"你说,"很多地毯重叠了,直接加会重复计算。"
"那咋个办?"CC问。
"铺卷尺。"你说,"从左走到右,每遇到一块地毯的左边界,就把它铺开的上下范围记下来;每遇到右边界,就把那片范围收起来。一路上,随时量当前铺开的地毯有多宽。"
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |