酷代码 AI
菜单
服务商

根据打扫范围和增量计算区域最终干净度的Python代码实现

以下是针对你所描述需求实现的Python代码: ```python # 读取区域数 n 和打扫次数 q n, q = map(int, input().split()) # 初始化区域的干净度列表,初始干净度都为 0 cleanliness = [0] * n # 进行 q 次打扫操作 for _ in range(q): # 读取每次打扫的范围和干净度增加的值 Li, Ri, Xi = map(int, input().split()) # 注意这里索引要减 1,因为列表索引从 0 开始 for j in range(Li - 1, Ri): # 增加相应区域的干净度 cleanliness[j] += Xi # 输出所有区域的最终干净度 print(" ".join(map(str, cleanliness))) ``` ### 代码解释: 1. **输入处理**:首先读取区域数 `n` 和打扫次数 `q`,并初始化所有区域的干净度列表 `cleanliness`,初始值都设为 0。 2. **打扫操作**:循环 `q` 次,每次读取打扫范围 `Li` 到 `Ri` 和干净度增加的值 `Xi`,将该范围内的区域干净度增加 `Xi`。 3. **输出结果**:将所有区域的最终干净度以空格分隔的形式输出。 ### 复杂度分析: - **时间复杂度**:每次打扫操作需要遍历打扫范围内的区域,总的时间复杂度为 $O(q\times R)$,其中 $R$ 是每次打扫的最大范围。 - **空间复杂度**:主要使用了长度为 `n` 的列表来存储区域的干净度,所以空间复杂度为 $O(n)$。 ######[AI问答 | 401点数解答 | 2026-02-27 19:37:20]

相关提问
发财导航,免费问AI
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]