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

先存起来排序

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

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

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

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

相关推荐
skywalk816315 小时前
请结合以下说明,先完成类似python的内置函数。 然后再去完成内置库(标准款) ‌内置函数‌
开发语言·python
不做无法实现的梦~15 小时前
常见工程分析软件
stm32·嵌入式硬件·算法
郝学胜-神的一滴15 小时前
Python 高级编程 018:深挖 super
开发语言·python·程序人生·软件构建
2401_8685347815 小时前
2026年5月系统分析
数据结构·python·tornado
hetao173383715 小时前
2026-05-28~06-02 hetao1733837 的刷题记录
c++·算法
ZhengEnCi15 小时前
O08-单写线程与单读线程冲突分析
算法
专注VB编程开发20年16 小时前
python翻译网页HTML的难题
python·c#·html
仍然.16 小时前
算法题目---优先级队列
算法
一个爱编程的人16 小时前
图的相关概念
c++·算法·图论
迈巴赫车主16 小时前
贪心算法
算法·贪心算法