蓝桥杯 算法提高 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)

先存起来排序

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

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

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

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

相关推荐
山顶听风5 分钟前
分页条初始化
python
NewsMash37 分钟前
PyTorch之父发离职长文,告别Meta
人工智能·pytorch·python
小O的算法实验室40 分钟前
2025年TRE SCI1区TOP,随机环境下无人机应急医疗接送与配送的先进混合方法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
硅农深芯1 小时前
如何使用ptqt5实现进度条的动态显示
开发语言·python·qt
程序员杰哥1 小时前
软件测试之压力测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
小白程序员成长日记1 小时前
2025.11.06 力扣每日一题
算法·leetcode
今天没有盐1 小时前
Pandas完全指南:从Series到DataFrame,掌握数据分析核心技能
python·pycharm·编程语言
暴风鱼划水1 小时前
算法题(Python)数组篇 | 4.长度最小的子数组
python·算法·力扣
gugugu.1 小时前
算法:二分算法类型题目总结---(含二分模版)
算法