蓝桥杯 算法提高 ADV-1162 阴谋 python AC

keyword:数组、排序

python 复制代码
n = int(input())
d = {}
for _ in range(n):
    a, b = map(int, input().split())
    if (a in d and d[a] < b) or a not in d:
        d[a] = b
d = sorted(d.items(), key=lambda x: x[0])
ans = 0
l, r = d[0][0], d[0][1]
for i, j in d[1:]:
    if i <= r:
        if j > r:
            r = j
    else:
        ans += r - l
        l, r = i, j
ans += r - l
print(ans)

先存起来排序

每种情况分别判断下一段区间:

--下一段左区间在当前区间内,合并两段区间,更新右区间为两段最大的右区间

--下一段左区间在当前区间外,把当前区间长度累加到变量中,更新左右区间为下一段左右区间

坑点是题目说左闭右闭,实际上是左闭右开

相关推荐
步辞几秒前
Redis如何控制只读从库的安全_配置replica-read-only防止从节点数据被意外篡改
jvm·数据库·python
北顾笙9803 分钟前
day34-数据结构力扣
数据结构·算法·leetcode
Mr. zhihao4 分钟前
深入理解 ReAct 循环:从 LLM 决策到工具执行的完整闭环
python·ai·react
khalil10206 分钟前
代码随想录算法训练营Day-36动态规划04 | 1049. 最后一块石头的重量 II、494. 目标和、474.一和零
算法·动态规划
码农爱学习7 分钟前
用cJson的例子,来理解二级指针
算法
2403_883261098 分钟前
SQL视图数据不实时怎么办_利用SQL触发器与视图联动方案
jvm·数据库·python
z小天才b10 分钟前
Django ORM、中间件与信号 — 完全指南
python·中间件·django
m0_6845019813 分钟前
如何利用 watchEffect 实现在线人数实时统计?Socket 与响应式结合
jvm·数据库·python
重庆若鱼文化创意13 分钟前
高端包装设计公司哪家好,报价差异常藏在纸张和印刷工艺里。
人工智能·python
zhangchaoxies14 分钟前
C#怎么使用全局Using C#global using全局引用怎么配置减少每个文件的using声明【语法】
jvm·数据库·python